机器学习之模型评估指标

分类模型

Accuracy - 准确率

A c c u r a c y = n c o r r e c t n t o t a l Accuracy = \frac{n_{correct}}{n_{total}} Accuracy=ntotalncorrect

其中 n c o r r e c t n_{correct} ncorrect 为被正确分类的样本个数, n t o t a l n_{total} ntotal 为总体样本个数。

准确率是分类问题中最简单也是最直观的评价指标,但存在明显的缺陷。比如,当负样本占99%时,分类器把所有样本都预测为负样本也可以获得99%的准确 率。所以,当不同类别的样本比例非常不均衡时,占比大的类别往往成为影响准确率的最主要因素

做模型或做评估任务时,刚刚开始我们还是会简单的用Accuracy来做评估 ------ 因为样本不均衡的情况会比较少。

混淆矩阵 - 目前机器学习与大模型正在使用的评估指标

目前机器学习与大模型正在使用的评估指标

混淆矩阵是机器学习中总结分类模型预测结果的情形分析表 ,以矩阵形式将数据集中的记录按照真实的类别与分类模型预测的类别判断两个标准进行汇总。

True Positive(TP):真正类。正类被预测为正类。 False Negative(FN):假负类。正类被预测为负类。 False Positive(FP):假正类。负类被预测为正类。 True Negative(TN):真负类。负类被预测为负类。

术语:

Reference: 真实值

Prediction: 预测值

T: True

P: Positive

F: False

N: Negative

举例

Precision - 精准率

P r e c i s i o n = T P T P + F P Precision = \frac{TP}{TP+FP} Precision=TP+FPTP

精准率,表示预测结果中,预测为正样本的样本中,正确预测的概率。

T、P、F、N 见混淆矩阵

预测为正样本里,有多少判断对的了

Recall - 召回率

R e c a l l = T P T P + F N Recall = \frac{TP}{TP+FN} Recall=TP+FNTP

召回率,表示在原始样本的正样本中,被正确预测为正样本的概率。

原始数据的正样本中,有多少被判断对的了

Precision值和Recall值是既矛盾又统一的两个指标,为了提高Precision值,分类器需要尽量在"更有把握"时才把样本预测为正样本,但此时往往会因为过于保守而漏掉很多"没有把握"的正样本,导致Recall值降低。

F1

F 1 = f ∗ P r e c i s i o n ∗ R e c a l l P r e c i s i o n ∗ R e c a l l F1 = \frac{f * Precision * Recall}{Precision * Recall} F1=Precision∗Recallf∗Precision∗Recall

F1-score是Precision和Recall两者的综合,是一个综合性的评估指标。

Micro-F1:不区分类别,直接使用总体样本的准召计算f1 score。

Macro-F1:先计算出每一个类别的准召及其f1 score,然后通过求均值得到在整个样本上的f1 score。

数据均衡,两者均可;样本不均衡,相差很大,使用Macro-F1样本不均衡,相差不大,优先选择Micro-F1

举例

回归模型

MSE

M S E = 1 m ∑ i = 1 m ( y i − y i ^ ) 2 MSE = \frac{1}{m}\sum_{i=1}^m(y_i - \hat{y_i})^2 MSE=m1i=1∑m(yi−yi^)2

RMSE

R M S E = 1 m ∑ i = 1 m ( y i − y i ^ ) 2 2 RMSE = \sqrt2{\frac{1}{m}\sum_{i=1}^m(y_i - \hat{y_i})^2} RMSE=2m1i=1∑m(yi−yi^)2

均方根误差, y i − y i ^ y_i - \hat{y_i} yi−yi^为真实值-预测值。解决量纲不一致的问题。

MAE

M A E = 1 m ∑ i = 1 m ∣ ( y i − y i ^ ) ∣ MAE = \frac{1}{m}\sum_{i=1}^m|(y_i - \hat{y_i})| MAE=m1i=1∑m∣(yi−yi^)∣

平均绝对识差, y i − y i ^ y_i - \hat{y^i} yi−yi^ 为{真实值-预测值}

RMSE 与 MAE 的量纲相同,但求出结果后我们会发现RMSE比MAE的要大一些。

这是因为RMSE是先对误差进行平方的累加后再开方,它其实是放大了较大误差之间的差距。

MAE反应的是真实误差。因此在衡量中使RMSE的值越小其意义越大,因为它的值能反映其最大误差也是比较小的。

R平方

R 2 = 1 − ∑ i = 1 ( y i ^ − y i ) 2 ∑ i = 1 ( y i ‾ − y i ) 2 R^2 = 1-\frac{\sum_{i=1}(\hat{y_i}- {y_i})^2}{\sum_{i=1}(\overline{y_i} - y_i)^2} R2=1−∑i=1(yi−yi)2∑i=1(yi^−yi)2

决定系数,分子部分表示真实值与预测值的平方差之和,类似于均方差 MSE;分母部分表示真实值与均值的平方差之和,类似于方差 Var。

根据 R2 的取值,来判断模型的好坏,其取值范围为0,1
R 2 越大,表示模型拟合效果越好。 R 2 反映的是大概的准确性,因为随着样本量的增加 R 2 必然增加,无法真正定量说明准确程度,只能大概定量。 R^2越大,表示模型拟合效果越好。R^2反映的是大概的准确性,因为随着样本量的增加R^2必然增加,无法真正定量说明准确程度,只能大概定量。 R2越大,表示模型拟合效果越好。R2反映的是大概的准确性,因为随着样本量的增加R2必然增加,无法真正定量说明准确程度,只能大概定量。

GSB

通常用于两个模型之间的对比, 而非单个模型的评测:
G S B = g o o d − b a d g o o d + s a m e + b a d GSB = \frac{good - bad}{good + same + bad} GSB=good+same+badgood−bad

可以用GSB指标评估两个模型在某类数据中的性能差异。

相关推荐
kyle~5 分钟前
推理部署---CUDA 执行模型(SM、Block、Warp 与 SIMT)
人工智能·nvidia·cuda
淮南颂恩少儿编程C++6 分钟前
在淮南:编程信息学培训与 C++ 信奥赛:从 CSP 到 NOI 的进阶之路
人工智能·学习·青少年编程
甲维斯6 分钟前
真不想吹Claude Fable了,奈何实力不允许!
人工智能·ai编程·游戏开发
想要成为计算机高手7 分钟前
用meta quest 3 遥操宇树机器人-xr_teleoperate 复现(含docker安装与配置方式)
人工智能·docker·机器人·xr·g1·具身智能
aqi008 分钟前
15天学会AI应用开发(六)使用离线大模型对文本生成摘要
人工智能·python·ai编程
发光的小豆芽8 分钟前
使用U-Net 做皮肤图像的毛孔检测尝试
深度学习·皮肤检测·u-net
qq_4112624210 分钟前
AI-02模组架构与Coze智能体接入说明
人工智能·ai·架构·esp32-c3·coze·四博
果丁智能12 分钟前
民宿/网约房数字化升级:基于智能锁的身份核验与远程授权解决方案
人工智能·智能家居
知识浅谈15 分钟前
人工智能日报 每日AI新闻(2026年6月12日):Agent安全、AI编程与国内高考场景加速落地
人工智能·安全·ai编程
麦哲思科技任甲林18 分钟前
让AI帮我们写工作日志
人工智能·ai编程·日志