机器学习与模式识别——评估分类器
在机器学习中,有很多数据分类的手段,例如我们所熟悉的KNN、决策树等,因此我们需要对模型进行评估。
一、评估分类模型的度量:
1、真正(true positive,TP)或f+ +,对应被分类模型正确预测的正样本数。
2、假负(false negative,FN)或f+ -,对应被分类模型错误预测为负类的正样本数。
3、假正(false positive,FP)或f-+,对应被分类模型错误预测为正类的负样本数。
4、真负(true negative,TFN)或f- -,对应被分类模型正确预测的负样本数。
二、混淆矩阵
+ | - | 合计 | |
---|---|---|---|
+ | TP | FN | P |
- | FP | TN | N |
合计 | P’ | N’ | P+N |
三、常用度量指标
度量 | 公式 |
---|---|
准确率(识别率) | T P + T N P + N \frac{TP+TN}{P+N} P+NTP+TN |
错误率(误分类率) | F P + F N P + N \frac{FP+FN}{P+N} P+NFP+FN |
召回率(敏感度、真正例率 | T P P \frac{TP}{P} PTP |
特效性、真负例率 | T N N \frac{TN}{N} NTN |
精度 | T P T P + F P \frac{TP}{TP+FP} TP+FPTP |
F、F1、F分数(精度和召回率的调和均值) | 2 ∗ p r e c i s i o n ∗ r e c a l l p r e c i s i o n + r e c a l l \frac{2* precision*recall}{precision + recall} precision+recall2∗precision∗recall |
真正率:TPR : TP/(TP + FN)
真负率:TNR : TN/(TN + FP)
假正率:FPR : FP/(FP + TN)
假负率:FNR : FN/(FN + TP)
四、ROC曲线
1、定义:
接受者操作特征(ROC)曲线是显示分类器真正率和假正率之间折中的一种图形化方法。在一个ROC曲线中,真正率(TPR)沿y轴绘制,而假正率(FPR)限制在x轴上。沿着曲线的每一个点对应一个分类器归纳的模型。
2、ROC曲线关键点
(TPR = 0,FPR = 0):把每个实例都预测为负类的模型。
(TPR = 1,FPR = 1):把每个实例都预测为正类的模型。
(TPR = 1,FPR = 0):理想模型。
3、ROC曲线绘制
为了绘制ROC曲线,分类器应当能够产生连续值输出,可以用来从最有可能到最不可能分为正类的记录,对它的预测排序。这些输出可能对应于贝叶斯分类器产生的后验概率或人工神经网络产生的数值输出。下面给出产生ROC曲线的过程。
(1)假定为正类定义了连续值输出,对检验记录按它们的输出值递增排序。
(2)选择秩最低的检验记录(即输出值最低的记录),把选择的记录以及那些秩高于它的记录指派为正类。这种方法等价于把所有的检验实例都分为正类。因为所有的正检验实例都被正确分类,而所有的负测试实例都被误分,因此TPR=FPR= 1。
(3)从排序列表中选择下- -个检验记录,把选择的记录以及那些秩高于它的记录指派为正类,而把那些秩低:于它的记录指派为负类。通过考察前面选择的记录的实际类标号来更新TP和FP计数。如果前面选择的记录为正类,则TP计数减少而FP计数不变。如果前面选择的记录为负类,则FP计数减少而TP计数不变。
(4)重复步骤3并相应地更新TP和FP计数,直到最高秩的记录被选择。
(5)根据分类器的FPR画出TPR曲线。