注:以下内容为本人学习心得,可能会存在不准确,有误导大家的可能。请酌情参考,感谢!

 

 
对于一个回归问题,可以使用MSE、RMSE、MAE、R方
对于一个分类问题,可以使用分类精准度(实际上,分类精准度是存在陷阱的)
 
 
分类准确度够用么?不够
若某事件产生概率为 0.1%,若某算法判断某事情是否产生的准确度为99.9% 时,与人工判定所有情况下都没有发生时,成功概率相同。所以这个99.9% 的准确度是没有什么意义的。
这种情况叫做“极度偏斜”(“Skewed Data”)
 
 
【学习篇】机器学习之模型评价【学习篇】机器学习之模型评价
 
精准率:precision = TP/(TP+FP) 
分母为所有预测为1的个数,分子是其中预测对了的个数,且预测对了的比例
 
召回率:recall = TP/(TP+FN)
所有真实值为1的数据中,预测对了的个数。即事件真实发生的情况下,我们成功预测的比例是多少。
 
混淆矩阵:
 
预测值0
预测值1
真实值0
TN
FP
真实值1
FN
TP
  • TN:真实值是0,预测值也是0,即我们预测是negative,预测正确了。
  • FP:真实值是0,预测值是1,即我们预测是positive,但是预测错误了。
  • FN:真实值是1,预测值是0,即我们预测是negative,但预测错误了。
  • TP:真实值是1,预测值是1,即我们预测是positive,预测正确了。
精准率(查准率):预测值为1,且预测对了的比例,即:我们关注的那个事件,预测的有多准。
召回率(查全率):所有真实值为1的数据中,预测对了的个数,即:我们关注的那个事件真实的发生情况下,我们成功预测的比例是多少。
那么精准率和召回率这两个指标如何解读?如果对于一个模型来说,两个指标一个低一个高该如何取舍呢?
 
(官方答案)以下
精准率(查准率):预测值为1,且预测对了的比例,即:我们关注的那个事件,预测的有多准。
召回率(查全率):所有真实值为1的数据中,预测对了的个数,即:我们关注的那个事件真实的发生情况下,我们成功预测的比例是多少。
有的时候,对于一个算法而言,精准率高一些,召回率低一些;或者召回率高一些,精准率低一些。那么如何取舍呢?视场景而定
 
F1 Score:
F1 Score 是精准率和召回率的调和平均值
 
什么是调和平均值?为什么要取调和平均值?调和平均值的特点是如果二者极度不平衡,如某一个值特别高、另一个值特别低时,得到的F1 Score值也特别低;只有二者都非常高,F1才会高。这样才符合我们对精准率和召回率的衡量标准。
 
【学习篇】机器学习之模型评价【学习篇】机器学习之模型评价  或 【学习篇】机器学习之模型评价【学习篇】机器学习之模型评价
 
分类阀值,即设置判断样本为正例的阀值 THR
sklearn 有一个方法( decision_function )返回“分类阀值”
decision_scores = log_reg.decision_function(X_test)
y_predict = np.array(decision_scores >= 5, dtype='int')
 
【学习篇】机器学习之模型评价【学习篇】机器学习之模型评价
 
分类阀值存在的意义,即“精准率”与“召回率”是具有一定联系的。看具体业务场景可以设置好阀值。
 
 
TPR,即召回率
FPR,
预测为1,但预测错了的数量,占真实值不为1的数据百分比。与TPR相对应,FPR除以真实值为0的这一行所有的数字和。
 
TPR和FPR之间是成正比的,TPR高,FPR也高。ROC曲线就是刻画这两个指标之间的关系。
 
【学习篇】机器学习之模型评价【学习篇】机器学习之模型评价
 
ROC曲线
Receiver Operation Characteristic Cureve,描述TPR与FPR 之间的关系,X轴是FPR,Y轴为TPR。
 
我们已经知道,TPR就是所有正例中,有多少被正确地判定为正;FPR是所有负例中,有多少被错误地判定为正。 分类阈值取不同值,TPR和FPR的计算结果也不同,最理想情况下,我们希望所有正例 & 负例 都被成功预测  TPR=1,FPR=0,即 所有的正例预测值 > 所有的负例预测值,此时阈值取最小正例预测值与最大负例预测值之间的值即可。
TPR越大越好,FPR越小越好,但这两个指标通常是矛盾的。为了增大TPR,可以预测更多的样本为正例,与此同时也增加了更多负例被误判为正例的情况。
 
AUC
一般在ROC曲线中,我们关注是曲线下面的面积, 称为AUC(Area Under Curve)。这个AUC是横轴范围(0,1 ),纵轴是(0,1)所以总面积是小于1的。
ROC和AUC的主要应用:比较两个模型哪个好?主要通过AUC能够直观看出来。
 
官方小节
F1 Score是精准率和召回率的调和平均值,可以平衡这两个指标。
又学习了分类阈值、TPR、FPR这三个概念,进而引出ROC来反映分类器的性能。AUC是曲线下面积,用来直观比较模型的好坏。
 
 
线性模型的评价有以下几个指标,由于本人野路子出生,看起来特别费劲,就简单罗列下指标及其概念。以后再补上个人理解~
 
R Square,最好的评价线性回归法的指标。
 
均方差(MSE):Mean Squared Error
测试集中的数据量m不同,因为有累加操作,所以随着数据的增加 ,误差会逐渐积累;因此衡量标准和 m 相关。为了抵消掉数据量的形象,可以除去数据量,抵消误差。通过这种处理方式得到的结果叫做 均方误差MSE(Mean Squared Error):
 
【学习篇】机器学习之模型评价【学习篇】机器学习之模型评价
 
均方根误差(RMSE):Root Mean Squarde Error
但是使用均方误差MSE收到量纲的影响。例如在衡量房产时,y的单位是(万元),那么衡量标准得到的结果是(万元平方)。为了解决量纲的问题,可以将其开方(为了解决方差的量纲问题,将其开方得到平方差)得到均方根误差RMSE(Root Mean Squarde Error)
 
【学习篇】机器学习之模型评价【学习篇】机器学习之模型评价
 
平均绝对误差( MAE ) : Mean Absolute Error
对于线性回归算法还有另外一种非常朴素评测标准。要求真实值 *** 与 预测结果 *** 之间的距离最小,可以直接相减做绝对值,加m次再除以m,即可求出平均距离,被称作平均绝对误差MAE(Mean Absolute Error)
 
【学习篇】机器学习之模型评价【学习篇】机器学习之模型评价