怎么用KS值来评价二元分类器?

  统计/机器学习 监督式学习 模型验证    浏览次数:5002        分享
2

我印象中KS值(Kolmogorov-Smirnov)是用来判断两个连续分布的相似度的,那怎么用KS值来评价二元分类器?

 

myodd   2019-01-06 15:09



   1个回答 
10

是的,你说的没错,KS是用来判断两个连续分布的。

所以我们用KS来比较二元分类模型的时候,我们用的是模型的概率输出。类似于auc一下,我们不能直接用预测标签,而是用预测的概率。这样我们就有了两组连续数值:一组是真实值为+的预测概率值,一组是真实值为-的预测概率值,然后对两组预测值分别画出cdf,两个cdf的最大距离就是KS-score。

如果模型预测出来的结果完全线性可分,那么KS-score就是1。

上图的例子里,蓝色曲线是真实标签$y=0$的预测样本的输出概率的CDF,绿色曲线是真实标签$y=1$的预测样本的输出概率的CDF,红色是它们距离最远的点,这个距离就是这个分类模型的KS score。

SofaSofa数据科学社区DS面试题库 DS面经

strong.man   2019-01-21 14:23

原来如此啊,学习了 - eternal   2022-04-02 00:12


  相关讨论

多元分类可以用accuracy吗?

机器学习中lift的概念是什么?怎么用来评价模型?

二元分类问题中经常提到的TP,TN,FN,FP都是什么意思?

F1值会受到不平衡数据的影响吗?

k近邻算法(k-NN)怎么选k

precision-recall曲线下面积有什么意义?

logistic回归有哪些指标可以评价模型效果?

有顺序的多元分类模型应该用评判标准?

测试误差小于训练误差,是为什么?

机器学习里的ppv是什么意思?

  随便看看

怎么添加pandas的dataframe到已有的csv文件,并且不覆盖原内容

怎么在matplotlib.pyplot的plot上加上文字?

python里怎么求一个矩阵的秩?

对于xgboost,还有必要做很多特征工程吗?

怎么计算(估计)ROC AUC的置信区间?