全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析与数据挖掘
886 0
2020-12-09
机器学习评估指标之旅
分类评估指标
分类评估指标得分通常表明我们对预测的正确性。分数越高,我们的模型越好。
在进入评估指标进行分类之前,了解混淆矩阵非常重要。
混淆矩阵:
混淆矩阵是一种用于汇总分类算法性能的技术。
与混淆矩阵相关的一些术语是
真正值:预测值和实际值均为正的实例。
真负数:预测值和实际值均为负的实例。
误报:预测值为正但实际值为负的实例。
假负:预测值为负但实际值为正的实例。
混淆矩阵遵循以下格式:
评估指标-混淆矩阵
示例:癌症检测:
考虑一个需要我们对患者是否患有癌症进行分类的问题。
在下表中,列代表表示每个类别的预测值数量的行,而列代表表示每个类别的实际值数量的行。共有500个实例。这是我们在整个博客中用于分类目的的示例。下面是混淆矩阵。
混淆矩阵
注意在博客中发布这一点,我将True True表示为TP,False positive表示为FP,True Negative表示为TN,False Negative表示为FN。
对于以上混淆矩阵
TP数量:7
TN数:480
FP数:8
FN数:5
准确性:
准确性可以定义为我们的分类模型做出的正确预测的百分比。
公式为:
精度=正确预测数/数据中的行数
也可以写成:
精度=(TP + TN)/数据中的行数
因此,对于我们的示例:
准确度= 7 + 480/500 = 487/500 = 0.974。
我们的模型具有97.4%的预测准确度,这看起来异常好。
当类平衡时,即所有类的实例比例在某种程度上相似时,准确性是一个很好的度量标准。但是,应注意,对于具有类不平衡的数据集,准确性不是可靠的指标,即,一类数据的实例总数远小于另一类数据的实例总数。在这种情况下,数据集中的正数为12(TP + FN = 7+ 5 = 12),负数为488。由于我们要处理类的不平衡问题,因此最好在其他条件下检查性能确定模型性能之前的指标。
精确:
精确度表明在所有积极预测中,有多少实际上是积极的。它定义为正确肯定预测与总体肯定预测之比。
精度=预测实际为正/总预测为正。
精度= TP / TP + FP
对于我们的癌症检测示例,精度将为7/7 + 8 = 7/15 = 0.46
召回:
召回表示在所有实际的正值中,有多少预测为正。它是正确肯定预测与数据集中肯定实例总数的比率。
召回率=数据集中的预测实际为正/实际正值。
召回= TP / TP + FN
对于我们的癌症检测示例,召回率将为7/7 + 5 = 7/12 = 0.58
如我们所见,在我们的示例中,精度和召回率均低于精度。
决定使用精度还是召回率:
从数学上讲,同时提高精度和查全率是不可能的,因为两者相互成反比。根据我们面临的问题,我们决定对我们来说哪个更重要。
我们首先需要确定对我们的问题避免误报或误报是否重要。当我们的目标是最大程度地减少误报时,将精度用作度量标准;当我们的目标是最大程度地减少误报时,将召回率用作指标。我们根据所选指标优化模型性能。
以下是使用精度/调用的几种情况。
人工智能领导着一项寻找罪犯躲藏在住房社会中的行动。目标应该是仅逮捕罪犯,因为逮捕无辜公民可能意味着无辜者可能面临不公正待遇。但是,如果罪犯设法逃脱,事后有很多机会将其逮捕。在这种情况下,假阳性(逮捕无辜者)比假阴性(让犯罪分子走开)更具破坏性。因此,我们应该选择精度以最小化误报。
我们都知道在机场进行了严格的安全检查。确保人们不要随身携带武器以确保所有乘客的安全至关重要。有时,这些系统可能导致无辜的旅客被举报,但与让危险的人员上飞机相比,这仍然是一个更好的方案。然后再次对每个标记的人进行彻底检查,并释放无辜的人。在这种情况下,重点是确保在初始扫描期间避免出现假阴性(携带武器的人),同时最终释放检测到的假阳性(标记无辜的乘客)。这是将误报率降至最低的方案,召回率是衡量系统性能的理想方法。
F1分数:
考虑一个场景,您的模型需要预测是否需要晋升某个特定员工,而晋升是积极的结果。在这种情况下,晋升无能的员工(假阳性)和不提拔应聘的候选人(假阴性)对公司而言都是同样的风险。
当避免误报和误报对我们的问题同等重要时,我们需要在精确度和召回率之间进行权衡。这是当我们使用f1分数作为度量标准时。f1分数定义为精度和查全率的调和平均值。
式:
F1分数
阈:
任何用于分类的机器学习算法都以概率格式给出输出,即属于特定类别的实例的概率。为了将类别分配给实例以进行二进制分类,我们将概率值与阈值进行比较,即,如果该值大于或小于阈值。
对于概率> =阈值,类别= 1
概率<阈值,类= 0
对于多类别分类,我们可以将实例具有最大概率值的类别分配为最终类别值。
AUC-ROC:
我们使用接收器工作曲线来检查模型性能。Wikipedia将ROC定义为:“接收器工作特性曲线或ROC曲线是图解图,其说明了判别阈值变化时二进制分类器系统的诊断能力”。下面是一个示例:
AUC ROC参考:[1]
x轴代表假阳性率,y轴代表真阳性率。
真实肯定率也称为召回率,错误肯定率是错误预测的否定样本所占的比例,它们的范围均为0到1。以下是公式:
真阳性率(tpr)= TP / TP + FN
误报率(fpr)= FP / FP + TN
阴影区域是曲线下的面积(AUC)。roc曲线在数学上是原点和坐标(tpr,fpr)之间的区域。
曲线下的面积越大,模型的性能越好。我们可以通过更改正确率和错误率来提高AUC-ROC得分,而正确率和错误率可以使用阈值来更改。
回归评估指标
与分类不同,分类是通过检查模型的预测是否正确来衡量模型的性能,而在回归中,我们通过测量预测值与实际值的差异来检查模型的性能,我们的目标是最小化指标得分以改进模型。我们将使用以下示例了解更多信息。
例:
下面是我们将使用的示例,实际值与预测值之差就是模型在预测过程中产生的误差。
回归评估指标
样本数(N)= 5。
当我们添加误差值(包含正值和负值)时,这些元素会相互抵消,因此我们得到的误差值可能会比实际值低。例如,在我们的示例的前4行中,-4 + 2-9 + 11 =0。差的总和,即误差为0。但是,我们可以清楚地看到,这4行中都没有正确的预测。在计算模型的有效性时,这可能会导致问题。为了缓解此问题,我们使用其他评估指标。
平均绝对误差:
顾名思义,平均绝对误差可以定义为连续目标变量的预测值与实际值之间的绝对差之和的平均值。
MAE =Σ| y_actual – y_predicted | / n
对于我们的示例,MAE将为526/5 = 105.2
均方误差:
在某些情况下,可能不希望出现大错误。假设模型的预测之一是异常值。在这种情况下,我们应该更大程度地惩罚这个较高的错误。我们可以在哪里使用均方误差。
连续目标变量的预测值和实际值之间的差异平方和的平均值。
MSE =Σ(y_actual – y_predicted)2 / n
对于我们的示例,mse将为544.4
均方根误差:
当我们使用均方误差计算误差时,属性的度量会发生变化。例如,如果基于距离的属性的单位为米(m),则均方误差的单位为m2,这可能会使计算混乱。为了避免这种情况,我们使用均方根误差的根。
RMSE =√MSE=√Σ(y_actual – y_predicted)2 / n
对于我们的示例,rmse将为23.33
R-平方
在分类中,度量标准输出的值介于0到1之间,该分数可用于客观地判断模型的性能。但是,在回归过程中,目标变量可能并不总是在同一范围内,例如,房屋价格可以是6位数字,但学生在科目中的考试成绩在0至100之间。这意味着标记的度量标准得分大部分将是2位数字,但是房价的得分可以是1-6位数字之间的任何值。
用简单的话来说,精度为0.90或90%是好的性能,但是RMSE为90则表明性能良好。房价是一个6位数的数字,这是一个不错的成绩,但是对于学生的分数,这是一个糟糕的成绩!当实际值为100时,预测值10与在实际值为200
R平方可作为判断回归模型性能的基准度量标准,而与目标变量的取值范围无关。r平方的范围在0到1之间。r平方的值越大,模型的性能越好。
将新要素添加到数据后,R平方值将增加或保持不变。但是,添加特征并不能始终保证模型具有更好的性能,并且r平方不能充分反映出将特征添加到模型中的负面影响,即特征是否真正改善了模型预测。为了解决此问题,使用了调整后的r平方度量。
在进入公式之前,让我们研究一下残差平方和和平方和的总和。
残差平方和(RSS):
RSS定义为实际值与预测值之差的平方和。下面是公式
评估指标RSS
参考:[2]
总平方和(TSS):
TSS定义为平均值与实际值之差的平方和。下面是公式
TSS
参考:[2]
r平方的公式将是:
的RSS
参考:[2]
调整后的R平方:
r平方和调整后的r平方之间的唯一区别是,仅当添加的要素改善了模型性能时,调整后的r平方的值才会增加,从而更充分地捕捉添加要素的影响。以下是调整后的r平方的公式
题库
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群