在模型训练中,衡量模型准确度的指标有很多,具体选择取决于任务类型(分类、回归、聚类等)和业务需求。以下是一些常用的指标及其适用场景:
一、分类任务
1. 二分类任务
-
准确率(Accuracy):
- 定义:预测正确的样本占总样本的比例。
- 公式: Accuracy = T P + T N T P + T N + F P + F N \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} Accuracy=TP+TN+FP+FNTP+TN
- 适用场景:类别均衡时使用。
- 缺点:类别不均衡时可能不准确。
-
精确率(Precision):
- 定义:预测为正类的样本中,实际为正类的比例。
- 公式: Precision = T P T P + F P \text{Precision} = \frac{TP}{TP + FP} Precision=TP+FPTP
- 适用场景:关注减少假阳性(FP)时使用(如垃圾邮件检测)。
-
召回率(Recall,灵敏度):
- 定义:实际为正类的样本中,预测为正类的比例。
- 公式: Recall = T P T P + F N \text{Recall} = \frac{TP}{TP + FN} Recall=TP+FNTP
- 适用场景:关注减少假阴性(FN)时使用(如疾病检测)。
-
F1 分数(F1 Score):
- 定义:精确率和召回率的调和平均数。
- 公式: F1 = 2 ⋅ Precision ⋅ Recall Precision + Recall \text{F1} = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}} F1=2⋅Precision+RecallPrecision⋅Recall
- 适用场景:精确率和召回率的平衡。
-
ROC 曲线(Receiver Operating Characteristic Curve):
- 定义:以假正率(FPR)为横轴,真正率(TPR)为纵轴绘制的曲线。越靠近左上越好
- 公式:
- TPR = T P T P + F N \text{TPR} = \frac{TP}{TP + FN} TPR=TP+FNTP(召回率)
- FPR = F P F P + T N \text{FPR} = \frac{FP}{FP + TN} FPR=FP+TNFP - 适用场景:评估模型在不同阈值下的表现。
-
AUC(Area Under Curve):
- 定义:ROC 曲线下的面积,取值范围 [0, 1]。
- 适用场景:AUC 越大,模型性能越好。
-
PR 曲线(Precision-Recall Curve):
- 定义:以召回率为横轴,精确率为纵轴绘制的曲线。越向右上弯曲越好
- 适用场景:类别不均衡时比 ROC 曲线更有意义。
2. 多分类任务
- 宏平均(Macro-average):
- 定义:对每个类别的指标取平均。
- 适用场景:关注每个类别的平等贡献。
- 微平均(Micro-average):
- 定义:将所有类别的 TP、FP、FN 相加后计算指标。
- 适用场景:关注整体性能。
二、回归任务
-
均方误差(MSE,Mean Squared Error):
- 定义:预测值与真实值之差的平方的平均值。
- 公式: MSE = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 \text{MSE} = \frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2 MSE=n1∑i=1n(yi−y^i)2
- 适用场景:对异常值敏感。
-
均方根误差(RMSE,Root Mean Squared Error):
- 定义:MSE 的平方根。
- 公式: RMSE = MSE \text{RMSE} = \sqrt{\text{MSE}} RMSE=MSE
- 适用场景:与目标变量量纲一致。
-
平均绝对误差(MAE,Mean Absolute Error):
- 定义:预测值与真实值之差的绝对值的平均值。
- 公式: MAE = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ \text{MAE} = \frac{1}{n} \sum_{i=1}^n |y_i - \hat{y}_i| MAE=n1∑i=1n∣yi−y^i∣
- 适用场景:对异常值不敏感。
-
R²(决定系数):
- 定义:模型解释的方差占总方差的比例。
- 公式: R 2 = 1 − ∑ i = 1 n ( y i − y ^ i ) 2 ∑ i = 1 n ( y i − y ˉ ) 2 R^2 = 1 - \frac{\sum_{i=1}^n (y_i - \hat{y}_i)^2}{\sum_{i=1}^n (y_i - \bar{y})^2} R2=1−∑i=1n(yi−yˉ)2∑i=1n(yi−y^i)2
- 适用场景:评估模型拟合优度。
三、聚类任务
-
轮廓系数(Silhouette Score):
- 定义:衡量样本与其所属簇的紧密程度。
- 取值范围:[-1, 1],值越大表示聚类效果越好。
- 适用场景:评估聚类效果。
-
Calinski-Harabasz 指数:
- 定义:簇间离散度与簇内离散度的比值。
- 适用场景:值越大表示聚类效果越好。
-
Davies-Bouldin 指数:
- 定义:簇内距离与簇间距离的比值。
- 适用场景:值越小表示聚类效果越好。
四、排序任务(如推荐系统)
-
MAP(Mean Average Precision):
- 定义:对每个用户的平均精确率取平均。
- 适用场景:评估推荐系统的排序质量。
-
NDCG(Normalized Discounted Cumulative Gain):
- 定义:考虑排序位置的相关性得分。
- 适用场景:评估推荐系统的排序质量。
五、总结
- 分类任务:准确率、精确率、召回率、F1 分数、ROC 曲线、AUC、PR 曲线。
- 回归任务:MSE、RMSE、MAE、R²。
- 聚类任务:轮廓系数、Calinski-Harabasz 指数、Davies-Bouldin 指数。
- 排序任务:MAP、NDCG。
根据任务类型和业务需求选择合适的指标!