混淆矩阵

在机器学习的二分类算法中,

对于数据测试结果有下面4种情况,

TP(TruePositive): 预测为正,实际为正

FN(FalseNegative): 预测为负,实际为负

TN(FalsePositive):预测为正,实际为负

FP(TrueNegative): 预测为负,实际为正

精确率、准确率:Accuracy=(TP+TN)/(TP+TN+FN+FP)

精准率、查准率: P = TP/ (TP+TN)

召回率、查全率: R = TP/ (TP+FP)

真正例率(同召回率、查全率):TPR = TP/ (TP+FN)

假正例率:FPR=FP/ (FP+TN)

F1-score: 2*TP/(2*TP + FP + FN)

 我们可以综合总体准确率和召回率的结果来判定模型的拟合优度。

PS:之所以不看总体准确率,而加入召回率,是因为大部分数据中0,1的分布是不均衡的,

e.g.

混淆矩阵_第1张图片


Accuracy=(TP+TN)/(TP+TN+FN+FP)=(9800+0)/(9800+100+100+0)=98%

98%的准确率已经相当高了,但是你会发现TP是0,我们的主要任务就是预测100个positive数据,结果一个都没预测出来,就算是98%的准确率模型也是没有用的,所以这里加入了召回率,

上面例子里召回率: R = TP/ (TP+FP)=0/(0+100)=0,所以模型无效。

      通常情况下,我们可以通过总体准确率和召回率综合来衡量模型的有效性。

PS:当然机器学习除了加入召回率这个数据外,其实还有很多其他方法来优化模型。(比如:对训练集进行交叉验证,对原始数据中不均衡的数据进行下采样或者上采样来平衡数据,以及加入正则化惩罚项。)

 

 

你可能感兴趣的:(机器学习)