机器学习概念回顾、精确率、召回率、F1-score、准确率、AUC、ROC曲线

很久没有温习机器学习的算法了,还是容易将一些基本的概念给弄混,那么本次回顾一下机器学习模型中的评估方式:
对于回归问题来说,我们能够采用MSE、MAE、RMSE、R方的方式去衡量我们实际值与预测值之间的差距。但是对于分类算法来说,光凭一个准确度是不够好,因为我们所涉及到的样本数据可能是极度偏斜的话,那么只使用分类的准确度是远远不够的。

一、精准率、召回率、F1-score、准确率

首先来一个我们熟悉的混淆矩阵的图,这是一个二分类的混淆矩阵的图:

机器学习概念回顾、精确率、召回率、F1-score、准确率、AUC、ROC曲线_第1张图片
混淆矩阵

下面的表中P或者N都是代表了为预测出来的分类,分别代表了正类和负类,然后T或者F就代表了样本实际的分类与预测是一样的还是不一样的,我觉得这样去理解,应该就不会混了。

Item 说明 预测正确与否
TP 将实际为正样例预测为正样例的个数 对,真正类
TN 将实际为负样例预测为负样例的个数 对,真负类
FN 将实际为正样例预测为负样例的个数 错,假负类
FP 将实际为负样例预测为正样例的个数 错,假正类
TP+FP 预测为正样例的个数
FN+TN 预测为负样例的个数
TP+FN 实际的正样例个数
FP+TN 实际的负样例个数

下标对一些度量的概念和公式进行说明

性能度量 公式 说明
精准率(precision) 分母为预测为正样例的个数 ;分子为预测为实际正样例被预测准的个数
召回率(recall) 分母为实际正样例的个数;分子为预测为实际正样例被预测准的个数
F1-score 混合的度量,对不平衡类别非常有效
准确率(accuracy) 模型的整体的性能的评估
Specificity 分母为实际负样例的个数,分子为预测为实际负样例被预测准的个数

举个例子:
我们实际有50个样例,50个负样例,然后经过分类器分类之后。50个正样例中有45个预测为正样例(预测准了),5个被预测成为了负样例。50个负样例中(预测错误),有40个被预测为了负样例(预测准了),10个被预测为了正样例(预测错误)。

实际情况 预测为正 预测为负
50正 45 5
50负 10 40

根据这个例子,我们可以计算出:

性能度量 公式
精确率(precision)
召回率(recall)
F1-score
准确率(accuracy)
Specificity

下图很形象的说明了精确率和召回率的计算


机器学习概念回顾、精确率、召回率、F1-score、准确率、AUC、ROC曲线_第2张图片

Precision和recall其实是相互矛盾的,在不同的应用场景下面的关注是不同的,然后F1-score是采用了调和平均数的方式来综合的考虑了它们。那么下面我们就采用逻辑回归的形式来说明它们的矛盾:图中的三条线分别代表了逻辑回归的决策边界了。我们可以看出当逻辑回归的决策边界大于0或者小于的时候,这个时候数据的分布就是偏斜的,而且偏斜的程度随着偏离的程度而变大。当决策的边界偏向正方向而且和0越远,那么这个时候的精准率就变大,但是召回率就减小了。同理我们也能看出来当决策边界向负方向走,越远,那么就recall就变大了,精准度就降低了。

机器学习概念回顾、精确率、召回率、F1-score、准确率、AUC、ROC曲线_第3张图片
image.png

我们也能根据precision和recall做出一条precision-recall曲线,要是我们有多个算法,都做出他们的recall-precision曲线,那么越靠近(1,1)点的那条曲线所对应的算法肯定是越好的。

机器学习概念回顾、精确率、召回率、F1-score、准确率、AUC、ROC曲线_第4张图片
recall-precision

二、 ROC和AUC曲线

ROC = The receiver operating curve,翻译过来就是受试者工作曲线,这条曲线的横轴为假正例率、纵轴是真正例率。

在公式的层面上看,TPR就是等于了我们的召回率。也就是真实正例中被预测对了的比率,然后FPR就是真实负例中被错误的预测成为了正例的比率了。下面就通过图来说明他们两者之间的区别:

机器学习概念回顾、精确率、召回率、F1-score、准确率、AUC、ROC曲线_第5张图片
FPR与TPR

从上图中,我们可以看出,FPR增加,同时我们的TPR也是在增加的。同时也能从分类概率上面去思考一些这个趋势。

有了TPR和FPR之后,我们就能做出ROC曲线,如下图中的作图所示:

机器学习概念回顾、精确率、召回率、F1-score、准确率、AUC、ROC曲线_第6张图片

这里又会提及一个概念,就是AUC,AUC = the area under the receiving operating curve。也就下图中蓝色部分的区域,它的面积的越大,那么我们得到的模型就越好。
理想目标:TPR=1,FPR=0,即图中(0,1)点,故ROC曲线越靠拢(0,1)点,越偏离45度对角线越好。

有些地方回顾不到位,请指教了哈,后面留的资料就是mit的小哥给总结的内容,总结得很棒!喜欢的小伙伴就给点个赞吧。

参考资料
1、https://github.com/afshinea/stanford-cs-229-machine-learning

你可能感兴趣的:(机器学习概念回顾、精确率、召回率、F1-score、准确率、AUC、ROC曲线)