找回密码
 立即注册
搜索
查看: 10|回复: 0

建模必备!分类问题和回归问题评价指标全解析

[复制链接]

9420

主题

0

回帖

2万

积分

管理员

积分
28470
发表于 5 天前 | 显示全部楼层 |阅读模式
机器学习的常见评估指标0简介

\ Q Qud在建模时,无论是通用机器学习还是深度学习,都必须使用评估指标来衡量模型效应。评估指标是模型效果的数值量化。一般而言,评估指标分为分类问题和回归问题。以下将介绍两种问题的评估指标。

1分类问题的常见评估指标1.1基本知识

在分类问题中,它们可以分为二进制和多类问题:

在介绍每个评估指标的计算方法之前,我们还需要引入TP(true,true ),TN(true,true负面),FP(false,false false)和FN(false,false,false)

TP是指实际标记为正的样品的数量或比例。

FP是指由实际标签判断为正的样品的数量或比例;

FN表示由实际标签判断为否定的样品的数量或比例;

TN表示被判断为负面的样品的数量或比例。

有时很容易记住,所以我自己有一种记忆方法:第一个字母表示判断是否正确,第二个字母代表样本的预测值。

1.2每个指标的计算方法

现在,互联网上的许多人混淆了和谐,准确性和准确性,这是错误的,如图所示:

1.2.1精度()

精度()表示所有预测样本之间的正确预测比。计算方法如下:

(精度)= tp+tntp+fp+fn+(准确性)= {tp+tn \ over {tp+fp+fn+tn}}}}}}}}(准确性)= tp+fp+fp+fp+fn+fn+tntp+tn

1.2.2精度()

准确率()表示样品的比例被预测为正样本,这实际上是一个阳性样本。准确率是正确预测的阳性样品的比例。计算方法如下:

()= tptp+()= {tp \ over {tp+fp}}}()= tp+fptp

1.2.3召回率()

召回率()表示样品实际上是阳性样品中预测的阳性样品的比例。召回率考虑了阳性样品召回的比例。计算方法如下:

(召回)= tptp+(召回)= {tp \ over {tp+fn}}}}(回忆)= tp+fntp

1.2.4 f1-secre

实际上,准确性和召回之间存在矛盾。在许多情况下,模型的最终结果通常在准确性和召回之间找到平衡。 f1-secre是一个考虑准确性和召回率的参数。使用和解平均值而不是算术平均值的原因是,在算术平均值中,任何一方都同等地贡献数值的增长,并且任何一方都对数值下降负有类似的责任。虽然和解的平均值会在增长时有利于较小的值,并且还将惩罚准确性和召回率很高的极端情况,这考虑了准确性和召回率。 f1-secre的计算方法如下:

f1 = 2*∗+= {2 ** \ over {+}} f1 =+***

1.2.5 AUC值和ROC曲线



AUC(ROC曲线下的面积)值是ROC曲线下的面积,表明模型或预测结果的可靠性。接近1,可靠性越高。

1.2.6宏观公平(宏平均)

在计算每个指标时,即每个类别的指标的算术平均值时,宏AVG(宏平均)将使每个类别的权重相同。理解可能更抽象,请参见以下示例:

例如,宏公平为=(c = 0)+(c = 1)2 =(0.76+0.92)2 = 0.84 = {(c = 0)+(c = 1)+(c = 1)\ off 2} = {(0.76+0.92)\ 2} = 0.84 = 0.84 = 0.84 =(c = 1)+(c = 1)+(c = 1)+(c = 1)

1.2.7微型公平(微平均值)

Micro AVG(微平均值)是所有类别的准确性,即所有预测正确数字的样本的比例:

micro-avg =(tp+tn)/(tp+fp+tn+fn)micro-avg =(tp+tn)/(tp+fp+fp+tn+fn)micro-avg =(tp+tn)/(tp+tn)/(tp+fp+fp+fp+tn+fn)

带有TP实际标签的样品的数量被确定为正。 TN表示带有TP实际标签的样品数量为负。

TP + FP + TN + FN表示所有样本量

上图中没有微VG,但并不能阻止我们计算:

预测对的阳性样品TP = 345*0.88

预测对的负样品TN = 155*0.83

micro-avg = 345 ∗ 0.88+155 ∗ 0.83(155+345)= 0.-avg = {345 * 0.88 * 0.88+155 * 0.83 \ over(155+345)} = 0.-avg =(155+345)345+345)345+155 ∗ 0.88+155 ∗ 0.88+0.88+0.883 = 0.883 = 0.883 = 0.83645

1.2.8 -AVG(平均体重)

-AVG(平均体重)是因为当计算宏平均值时,每个类别的权重相同,但是如果存在样品不平衡,则此方法不公平,因此根据每个类别中的样本数量,重量平均值会给予不同的权重。权重平均实际上是所有类别的F1加权平均值,主要用于F1值,计算方法如下:

=负样品比例∗负样品F1+正样品比例∗正样品f1 = 0.8 * 155/500+0.9 ∗ 345/500 = 0.869 = 0。 AVG =负样品比例 *负样品F1+阳性样品比例 *正样品F1 = 0.8 * 155 /500+0.9 * 345 /500 = 0.869 = 0. = 0. =负样品比例∗负样品f1+阳性样本样品∗阳性样品f1 = 0.8

2回归(预测)问题的常见评估指标

回归或预测问题的常见评估指标如下:平均绝对误差(平均误差,MAE),均方根误差(平均误差,MSE),根平方误差(根平均误差,RMSE),均方根误差(R2(R2(R-))。

2.1平均错误(MAE)

平均绝对误差(平均误差,MAE)是预测值和实际值之间差异的绝对值,反映了预测值和实际值之间误差的实际情况。计算公式为mae = 1n∣i = 1nKyi-yi^i = {1 \ fover n} \ sum_ {i = 1}^n | y_i- \ hat {y_i} | mae = n1 = n1 = n1 i = 1 = 1

MAE的计算在代码中称为:

<p><pre>    <code class="prism language-Python">from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_true, y_pred) # y_true为真实值,y_pred为预测值
</code></pre></p>


2.2均方误差(平均误差,MSE)

均方根误差(MSE)是预测值和真实值之间平方差的期望值。 MSE的值越小,预测模型的准确性越好说明实验数据。计算公式为mse = 1n = 1n(yi-yi^)2mse = {1 \ fover n} \ sum_ {i = 1}^n(y__i- \ hat {y_i})^2mse^2mse = n1 = n1

MSE计算的代码是:

<p><pre>    <code class="prism language-python"><span class="token keyword">from</span> sklearn<span class="token punctuation">.</span>metrics <span class="token keyword">import</span> mean_squared_error
mse <span class="token operator">=</span> mean_squared_error<span class="token punctuation">(</span>y_true<span class="token punctuation">,</span> y_pred<span class="token punctuation">)</span> <span class="token comment"># y_true为真实值,y_pred为预测值</span>
</code></pre></p>
2.3根平均误差(RMSE)

均方根误差(RMSE)是MSE的平方根,它是预测值和真实值之间差异的样本标准偏差。均方根误差以说明样品的分散程度,rmse越小,拟合时越好。均方根误差与标准偏差研究主题不同。均方根误差用于测量预测值和实际值之间的偏差,而标准偏差则用于测量一组数据的离散程度。计算公式为

rmse = mse = ssen = 1n prim = 1n(yi -yi^)2rmse = \ sqrt {mse} = \ sqrt {sse \ vos n} = \ sqrt {{1 \ over n} \ sum_ {i = 1}^n(y_i- \ hat {y_i})^2} rmse = msSe = nsSe = nsSe = n1 i = 1 ∑n(yi-yi^)2

其中,SSE(错误总和)是平方的残留总和,可以在以下博客文章中找到:

数学建模方法 -  fit的优点计算(计算)

RMSE的计算在代码中调用:

<p><pre>    <code class="prism language-python"><span class="token keyword">from</span> sklearn<span class="token punctuation">.</span>metrics <span class="token keyword">import</span> mean_squared_error
mse <span class="token operator">=</span> mean_squared_error<span class="token punctuation">(</span>y_true<span class="token punctuation">,</span> y_pred<span class="token punctuation">)</span> <span class="token comment"># y_true为真实值,y_pred为预测值</span>
rmse <span class="token operator">=</span> Sqrt<span class="token punctuation">(</span>mse<span class="token punctuation">)</span>
</code></pre></p>
2.4 R平方值(R-)

R平方值(R-),也称为拟合的好处,反映了回归模型与数据的拟合度。值范围为(0,1]。近的R2R^2R2为1,这意味着使用Y值的变化的部分越多地解释X的更改,并且回归的拟合度越好。有关良好拟合的特定计算过程,请参见本文:

数学建模方法 -  fit的优点计算(计算)

当然,您也可以直接调用它:

<p><pre>    <code class="prism language-python"><span class="token keyword">from</span> sklearn<span class="token punctuation">.</span>metrics <span class="token keyword">import</span> r2_score
r2 <span class="token operator">=</span> r2_score<span class="token punctuation">(</span>y_true<span class="token punctuation">,</span> y_pred<span class="token punctuation">)</span> <span class="token comment"># y_true为真实值,y_pred为预测值</span>
</code></pre></p>
参考:

PS:/// P/
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|【科创星域】 ( 京ICP备20013102号-15 )

GMT+8, 2025-5-5 03:41 , Processed in 0.406819 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表