分类的评价指标主要有F-score(F-measure), recall, precision,ROC曲线,AUC曲线.其中涉及到混淆矩阵(confusion matrix), TN, TP, FN, FP.
事实上,这适用于所有的分类模型,并不局限于xgb,lgb。只是这两种模型分类效果尤为显著,因此本文以lgb作二分类为例,来应用这些评价指标,与展示threshold如何选取。
为了方便理解,我画了一张图:
可以看出所有的指标,都是基于TP,FP,FN,TN计算公式的来。因此我们从底层开始理解,先需理解这四个就游刃有余了。(图中未提到的ROC曲线与AUC在后面。)
TP,FP,FN,TN & Confusion Matrix
前面的True/False修饰后面的Positive/Negative,后面的Positive/Negative是我们的方法的判断。
TP (true positive):我们的方法判断为真,这个判断是对的。即事实上为真,而且被我们的方法判断为真的情形。
FN (false negative):我们的方法判断为不真,这个判断是错的。即事实上为真,却未被我们的方法判断为不真的情形。
FP (false positive):我们的方法判断为真,这个判断是错的。即事实上不为真,却被我们的方法误判为真的情形。
TN (true negative):我们的方法判断为不真,这个判断是对的。即事实上不为真,而且被我们的方法判断成不为真的情形。
于此之外,还引申出许多其他的指标:
此处挑两个比较常用的(后面的ROC会用到)了解:
TPR & FPR
TPR(真阳性率)
FPR(伪阳性率)
Precision & Recall
Precision,说白了,就是你的模型分类的准确性、精确度,即模型预测为真的里面,确实预测对的几个。
Precision的分母为两种判断为真的情形的总和。
解释:当辨识结果为FP的代价很高时,F-score应该着重此指标,亦即precision要很高。
例子:辨识电邮信箱里的垃圾邮件时,如果某封被误判成垃圾邮件(即FP)时,使用者可能就此错过重要的通知。
Recall,召回, 说白了,即 事实上是真的里面,模型预测对了几个
Recall的分母为事实上为真的情形的总和
解释:当辨识结果为FN的代价很高时,F-score应该着重此指标,亦即precall要很高。
举例:一个传染病诊断辨识系统中,如果某个传染病患者被误判成阴性(即FN),当地的社区的居民就落入被传染的高风险之中。
举例:真正犯罪的人当中,有多少比例的罪犯被抓到。或,一张照片当中,有多少人脸被侦测到。