机器学习指标
概述
分类问题(单项) | 分类问题(综合) | 回归问题 |
---|---|---|
准确率-accuracy | F1分数 | MAE |
精确率-precision | ROC曲线 | MSE |
召回率-Recall | AUC曲线 |
分类器评估指标
对于二分类问题,可以根据真实类别和分类器的预测类别划分为
- 真正例(TP):预测正确(True),真实为Positiive
- 假正例(FP):预测错误(False),真实为Positiive
- 真负例(TN):预测正确(True),真实为Negative
- 假负例(FN):预测错误(False),真实为Negaive
混淆矩阵
指标详解
准确率 - Accuracy
预测正确的结果占总样本的百分比
Accuracy = (TP + TN )/ (TP + TN + FP + FN)
准确率尽管可以判断全局的正确率,但是在样本不平衡的情况下,不能很好的衡量结果,例:正样本90%,负样本10%,模型只需把全部的样本预测为正样本即可得到90%准确率(高准确率可能有水分)
精确率 - Precision
所有被预测为正的样本中实际为正的样本的概率
precision = TP / (TP + FP)
精确率代表在正样本中的预测准确程度
召回率(查全率) - Recall
实际为正的样本中被预测为正样本的概率
Recall = TP / ( TP + FN )
F1分数
- F1=(2×Precision×Recall)/(Precision+Recall)
AUC曲线,ROC曲线
灵敏度,特异度,真正率,假正率
灵敏度(Sensitivity) = TP/(TP+FN)
特异度(Specificity) = TN/(FP+TN)
- 灵敏度和召回率是一模一样的
- 需要查看有多少负样本被错误地预测为正样本,所以使用(1- 特异度)
真正率(TPR) = 灵敏度 = TP/(TP+FN)
假正率(FPR) = 1- 特异度 = FP/(FP+TN)
灵敏度(真正率)TPR是正样本的召回率,特异度(真负率)TNR是负样本的召回率
条件概率
假设X为预测值,Y为真实值。那么就可以将这些指标按条件概率表示:
精准率 = P(Y=1 | X=1)
召回率 = 灵敏度= 真正率 = P(X=1 | Y=1)
特异度 = P(X=0 | Y=0)
从以上结果可知:如果我们先以实际结果为条件(召回率,特异度),那么就只需考虑一种样本,而先以预测值为条件(精准率),那么我们需要同时考虑正样本和负样本。所以先以实际结果为条件的指标都不受样本不平衡的影响,相反以预测结果为条件的就会受到影响。
ROC曲线
特性:
- 当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变
- 是一种不依赖于阈值(Threshold)的评价指标
横坐标为假正率(FPR),纵坐标为真正率(TPR)
ROC 曲线是通过遍历所有阈值 来绘制整条曲线的。如果我们不断的遍历所有阈值,预测的正样本和负样本是在不断变化的,相应的在 ROC 曲线图中也会沿着曲线滑动。
回归问题评价指标
1.均方误差
MSE(Mean Squared Error)
均方根误差
RMSE(Root Mean Squard Error)
2.平均绝对误差
MAE
3. R-squared
R
2
=
1
−
∑
i
=
1
m
(
f
i
−
y
i
)
2
∑
i
=
1
m
(
y
ˉ
i
−
y
i
)
2
R^{2} = 1-\frac{ \sum_{i=1}^{m} (f_{i}-y_{i})^{2}}{\sum_{i=1}^{m} (\bar{y} _{i}-y_{i})^{2}}
R2=1−∑i=1m(yˉi−yi)2∑i=1m(fi−yi)2
化简公式,上下同时除以m有,分子就变成了均方误差MSE,下面分母就变成了方差。
R
2
=
1
−
M
S
E
(
f
,
y
)
V
a
r
(
y
)
R^{2} = 1-\frac{MSE(f,y)}{Var(y)}
R2=1−Var(y)MSE(f,y)
R 2 R^{2} R2介于0~1之间,越接近1,回归拟合效果越好,一般认为超过0.8的模型拟合优度比较高