准确率、召回率
网址 :https://blog.csdn.net/seagal890/article/details/105059498
True Positive(TP):真正类。样本的真实类别是正类,并且模型识别的结果也是正类。
False Negative(FN):假负类。样本的真实类别是正类,但是模型将其识别为负类。
False Positive(FP):假正类。样本的真实类别是负类,但是模型将其识别为正类。
True Negative(TN):真负类。样本的真实类别是负类,并且模型将其识别为负类。
计算方法
对于二分类问题,可以将样例根据其真实类别与机器学习器预测类别的组合划分为:
精确率(Accuracy):精确率是最常用的分类性能指标。可以用来表示模型的精度,即模型识别正确的个数/样本的总个数。一般情况下,模型的精度越高,说明模型的效果越好。
Accuracy = (TP+TN)/(TP+FN+FP+TN)
正确率或者准确率(Precision):又称为查准率,表示在模型识别为正类的样本中,真正为正类的样本所占的比例。一般情况下,查准率越高,说明模型的效果越好。
Precision = TP/(TP+FP)
召回率(Recall):又称为查全率,召回率表现出在实际正样本中,分类器能预测出多少。
Recall(召回率) = 查全率
表示的是,模型正确识别出为正类的样本的数量占总的正类样本数量的比值。一般情况下,Recall越高,说明有更多的正类样本被模型预测正确,模型的效果越好。
Recall = TP/(TP+FN)
查准率和查全率是一对矛盾的指标。一般来说,查准率高时,查全率旺旺偏低;二查全率高时,查准率往往偏低。
我们在总体T(total)中抽样,得到S(sample),这就是样例集。随后我们在样例集中进行预测。可以得到四种预测集,任何一种预测总有四种结果,TP(True Positive):预测为正例的正例集,真正例;FP(False Positive):预测为正例的反例集,假正例;TN(True Negative):预测为的反例的反例集,真反例;FN(False Positive):预测为反例的正例,假反例;而我们的查准率P(precision),P=TPTP+FPP = \frac{TP}{TP+FP}P = \frac{TP}{TP+FP} 这个表示,预测为正例的样例中,预测准了多少,强调样例中对正例预测的准确性。而查全率R(recall),R=TPTP+FNR = \frac{TP}{TP+FN}R = \frac{TP}{TP+FN} 这个表示,在实际为正例样例中,预测出来了多少,强调在实际的样例中,真正的正例被预测出来了多少。比如说,如果想要提高查准率P,我们可以选择那些预测为正例的概率较大的样例,其它的做为反例,放弃那些正例概率一般的样例,当然这些样例也会被当做反例。这样自然预测为正例的样例中,准确度就会大幅度提升。但是,FN数量,即是预测为反例的正例的数量确是会随之大幅度上升,因为,你提高了为正例的门槛,其它的都被你预测为反例。这样你预测为反例的数量大大提升,相对的,这些反例中为正例的数量也在大大提升。所以FN增加,查全率降低。再比如说,我们想要提高查全率R,那么要怎样做,显然,减小FN,就是一个可行的办法,为了减小假正例,我们要降低被预测为正例的门槛,可以把那些预测为正例的概率比较小的样例,也算作正例,这样被预测为反例的数量就大大降低,这样假反例FN的数量就自然减小了,查全率上升,但是,由于你降低了成为正例的门槛,你放过的样例过程中,即是,你多预测为正例的样例中,错误率当然大大提升,假正例FP上升,那么查准率P自然就下降了。如此一来,大家是否明白,查准率与查全率的矛盾的关键点在于,FP与FN之间的矛盾,即是,假正例与假反例之间的矛盾。我们提升成为正例的概率,拉高成为正例的门槛,假反例FN的数量就会增加,相对假正例FP的数量就会减小;反之我们降低成为正例的概率,减小成为正例的门槛,假反例FN的数量就会减小,但是假正例FP的数量却会增加。这便是这矛盾之处。
看重查全率(recall): 宁可错杀一千,不可漏过一个。
看重查准率(precision): 宁可漏过坏人,不可错杀无辜的好人。
PSI
psi 指标模型稳定性
0~0.1 好 没有变化或者很少变化
0.1~0.25 略不稳定 有变化建议监控后续变化
大于0.25 不稳定 发生大变化,进行特征项分析
将两个分布占比相减乘两个分布占比相除,套一层ln。(a-b)*ln(a/b)
3、IV、KS
IV值会受分箱数量影响,因此即使是同样的样本,随着分箱数量改变,IV值也会发生改变,而AUC和KS是不变的。
从上面的结果可以看出,当分箱比较细的时候,对KS结果影响不大,但是如果分箱比较粗的话对KS会有一定的影响。
从IV值的公式中,易得变量的分组越多,IV值越大。但是分组分的太多,就会使得每个分组的数据量变少,导致细项分组的分布不稳定。
所以,我们在使用IV值筛选变量的时候,不能为了提高IV值一味地将分箱的数目提高,也要兼顾变量的业务含义和分布的稳定性。
KS值:可以反映模型的最优区分效果,此时所取的阈值一般作为定义好坏用户的最优阈值。KS值越大,模型的预测准确性越好。KS值的取值范围是[0,1] ,一般,KS>0.2即可认为模型有比较好的预测准确性。
KS<0.2:模型无鉴别能力;
0.2-0.4之间,模型勉强接受;
0.41-0.5之间,模型具有区别能力;
0.51-0.6之间,模型有很好的区别能力;
0.61-0.75之间,模型有非常好的区别能力;
KS>0.75,模型异常,很有可能有问题。
IV值取值含义:
(1)IV<0.02:无用特征
(2)0.02<IV<0.1:弱价值特征
(3)0.1<IV<0.3:中价值特征
(4)0.3<IV<0.5:强价值特征
(5)IV>0.5:价值过高,不真实
4、ROC与AUC曲线
https://zhuanlan.zhihu.com/p/616190701
AUC = 1,是完美分类器。
AUC = [0.85, 0.95], 效果很好
AUC = [0.7, 0.85], 效果一般
AUC = [0.5, 0.7],效果较低,但用于预测股票已经很不错了
AUC = 0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。
AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。