Skip to content
2026-09-29 04:202702 字机器学习模型评估指标

模型评估 ​

分类评估 ​

混淆矩阵 ​

一个 的方阵(C 为类别数),其中:

  • 行(Rows) 表示真实标签(Actual / True Label)

  • 列(Columns) 表示模型预测标签(Predicted Label)

对于最常见的二分类问题,混淆矩阵如下:

​

混淆矩阵四个指标:

|名称|含义|

| ------------------------------| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

|真正例(TP,True Positive)|真实值是正例的样本中,被分类为正例的样本数量有多少|

|伪反例(FN,False Negative)|真实值是正例的样本中,被分类为假例的样本数量有多少|

|伪正例(FP,False Positive)|真实值是假例的样本中,被分类为正例的样本数量有多少|

|真反例(TN,True Negative)|真实值是假例的样本中,被分类为假例的样本数量有多少|

准确率 ​

准确率 (Accuracy):指的是预测正确的比重

精确率 ​

精确率(Precision,也叫做查准率):指的是预测为真正例样本占所有预测为正例样本的比重。

召回率 ​

召回率(Recall,也叫做查全率):指的是预测为真正例样本占所有真实正例样本的比重。

F1-score ​

如果我们对模型的精度、召回率都有要求,希望知道模型在这两个评估方向的综合预测能力如何?则可以使用 F1-score 指标。

AUC指标 ​

  1. 我们发现:图像越靠近 (0,1) 点则模型对正负样本的辨别能力就越强

  2. 我们发现:图像越靠近 (0, 1) 点则 ROC 曲线下面的面积就会越大

  3. AUC 是 ROC 曲线下面的面积,该值越大,则模型的辨别能力就越强

  4. AUC 范围在 [0, 1] 之间

  5. 当 AUC= 1 时,该模型被认为是完美的分类器,但是几乎不存在完美分类器

AUC 值主要评估模型对正例样本、负例样本的辨别能力.

ROC曲线 ​

ROC 曲线:我们分别考虑正负样本的情况:

  1. 正样本中被预测为正样本的概率,即:TPR (True Positive Rate)

  2. 负样本中被预测为正样本的概率,即:FPR (False Positive Rate)

ROC 曲线图像中,4 个特殊点的含义:

  1. (0, 0) 表示所有的正样本都预测为错误,所有的负样本都预测正确

  2. (1, 0) 表示所有的正样本都预测错误,所有的负样本都预测错误

  3. (1, 1) 表示所有的正样本都预测正确,所有的负样本都预测错误

  4. (0, 1) 表示所有的正样本都预测正确,所有的负样本都预测正确

回归评估 ​

目的:衡量预测值和真实值之间的差距

  • 平均绝对误差(Mean Absolute Error,MAE) ​
    • 其中: 为样本数量, 为实际值, 为预测值

    • MAE 越小模型预测越准确

  • 均方误差(Mean Squared Error,MSE) ​
    • 其中: 为样本数量, 为实际值, 为预测值

    • MSE 越小模型预测越准确

  • 均方根误差(Root Mean Squared Error,RMSE) ​
    • 其中: 为样本数量, 为实际值, 为预测值

    • RMSE 越小模型预测越准确

三种指标的比较 ​
  • MAE反映的是“真实”的平均误差,RMSE会将误差大的数据点放大(放大预测误差较大的样本的影响)

    MAE和RMSE 都能反映出预测值和真实值之间的误差

  • RMSE 公式中有平方项,大的误差将被平方,会增加 RMSE 的值。

  • RMSE 会放大预测误差较大的样本对结果的影响。大多数情况下 RMSE>MAE

  • RMSE 对预测误差较大的点比较敏感(对异常数据比较敏感)

    假设数据中有少数异常点偏差很大,如果此时根据 RMSE 选择线性回归模型,可能会选出过拟合的模型来

    这种情况下,由于数据中的异常点极少,选择具有最低 MAE 的回归模型可能更合适

聚类评估 ​

SSE(Sum of Squared Errors,误差平方和) ​

所有簇的所有样本到该簇执行的 误差平方和

  • 表示聚类中心的个数

  • ​ 表示簇

  • 表示样本

  • ​ 表示簇的质心

【注】

  • SSE越小,表示数据点越接近他们的中心,聚合效果越好

  • 随着K值的增加,SSE值会逐渐减小

肘部法则 ​

“肘”方法通过 SSE 确定 n_clusters​​ 的值

  • 对于 n 个点的数据集,尝试不同的 K 值(通常从 2 到 min(n, 10)),对每个 K 运行 KMeans 并记录其 SSE(即 inertia_)。

  • 随着 K 增加,SSE 会单调递减,因为簇越多,每个簇越小,误差越低。

  • 当 K 较小时,SSE 下降较快;当 K 增加到一定程度后,SSE 下降速度明显放缓,形成一个“肘部”拐点。

  • 该拐点对应的 K 值被认为是合适的聚类数(最佳 n_clusters​ 值)——此时再增加簇数带来的性能提升有限。

  • 若无明显肘部,则说明数据结构复杂,建议结合轮廓系数或 CH 指数等其他评估指标综合判断。

⚠️ 注意事项:

  • 数据必须先进行标准化处理;

  • 每次运行 KMeans 应保持相同参数(如 n_init、random_state);

  • 肘部法仅作为参考,不能绝对依赖。

SC 轮廓系数法(Silhoutte Coefficient) ​
  • 轮廓系数综合考虑簇内的内聚程度(Cohesion)和簇外的分离程度(Separation),是评估聚类质量的重要无监督指标。

  • 计算步骤如下:

    1. 对每个样本 :

      • 计算其到同簇内其他样本的平均距离 :

        越小越好,表示簇内相似度高。内聚越高

      • 计算其到最近邻簇 的所有样本的平均距离 :

        越大越好,表示该样本与其他簇区分明显。耦合越低

    2. 计算样本 的轮廓系数:

      • 分母用 确保结果 在 [-1, 1] 范围内;

      • 当 时, ,表示样本可能被误分。

    3. 计算所有样本的轮廓系数的 算术平均值,作为整体聚类效果评分。

  • 轮廓系数范围:

    • :样本紧靠同类,远离异类 → 聚类效果好;

    • :样本位于两个簇边界 → 聚类效果一般;

    • :样本更接近其他簇 → 可能是误分。

  • 使用场景:

    • 选择最优 K 值(选择使平均轮廓系数最大的 K);

    • 比较不同聚类算法的效果;

    • 识别可能的异常点(S < 0 的样本)。

⚠️ 注意事项:

  • 数据必须标准化;

  • 适用于任意形状的簇(比 CH 指数更鲁棒);

  • 计算复杂度较高,不适合超大数据集。

CH 指数(Calinski-Harabasz Index) ​
  • CH 指数衡量聚类质量,综合考虑:

    • 簇内的内聚程度(越小越好)

    • 簇间的离散程度(越大越好)

    • 聚类数目(通过归一化因子控制),即质心的个数

  • 公式:

    其中:

    • :样本总数

    • :聚类数(K 值),质心个数

    • :簇内平方和(Within-cluster sum of squares)

    • :簇间平方和(Between-cluster sum of squares)

    • SSW(簇内距离):越小表示簇内越紧凑

    \text{SSW} = \sum_{i=1}^{m} ||x_i - C_{pi}||^2

    • :第 j 个簇的质心
    • :属于簇 的样本
    • SSB(簇间距离):越大表示簇间分离度越高

    \text{SSB} = \sum_{j=1}^{k} n_j ||C_j - \bar{X}||^2

    • :第 j 个簇的样本数
    • :所有样本的全局均值
  • 归一化因子 :

    • 用于平衡 K 的影响,避免因 K 增大而得分虚高
  • 解读:

    • CH 指数越大越好

    • 选择使 CH 指数最大的 K 值作为最优聚类数

⚠️ 注意事项:

  • 数据必须标准化

  • 适用于球形、大小相近的簇

  • 对非球形或不均衡数据效果较差

小结 ​
  1. 误差平方和 SSE

    • 误差平方和的值越小越好

    • 主要考量:簇内聚程度

  2. 肘部法

    • 下降率突然变缓时,即认为是最佳的k值
  3. SC 系数

    • 取值为 [-1, 1],其值越大越好

    • 主要考量:簇内聚程度,簇间分离程度

  4. CH 系数

    • 分数s 高,则聚类效果好

    • CH 达到的目的:用尽量少的类别聚类尽量多的样本,同时获得较好的聚类效果

    • 主要考量:簇内聚程度、簇间分离程度、质心个数


每一篇文章,都是时间的标本