前言:为防止原作者文章丢失以及方便本人查找,仅作记录,非原创。

混淆矩阵

通常用于二分类模型。其每一列代表预测值,每一行代表的是实际的类别。

 

准确率

准确率是指我们的模型预测正确的结果所占的比例。

 Name 

预测值

真实值

TP         



TN

N

N

FP 


N

FN

N

Y

精确率

所有预测为正样本的集合中预测正确的比例

模型评估方法Python 模型评估f1_损失函数

召回率

所有样本中实际预测正确的概率

当提高模型的精度时,召回率会下降,反之亦然。

模型评估方法Python 模型评估f1_MSE_02

F1 值

F1得分是Precision精确率和Recall召回率的谐波平均值(f1_score)

 

模型评估方法Python 模型评估f1_损失函数_03

 

当Precision等于Recall时,F1最大值。

 

ROC & AUC

 auc值是roc曲线(x轴为FP,y轴为TP)下的面积

 

对于同一个 x,我们希望 y 越大越好,也就是说,在 FP 固定的时候,模型中 TP 越高 AUC 值就越高,所以 AUC 值很在乎正样本的准确率,

当数据比例不平衡时,我们的模型很可能偏向预测样本数更多的负样本,虽然这时准确率和 log损失 看着都不错,可是 AUC 值却不理想。

log损失

反映样本的平均偏差,经常作为模型的损失函数来做优化

模型评估方法Python 模型评估f1_MSE_04

 

 

MAE

求观测值与真实值的误差绝对值的平均值

模型评估方法Python 模型评估f1_MSE_05

MSE

 

最常用的回归损失函数

求预测值与真实值之间距离的平方和

模型评估方法Python 模型评估f1_损失函数_06

如果异常点代表在商业中很重要的异常情况,并且需要被检测出来,则应选用MSE损失函数。

相反,如果只把异常值当作受损数据,则应选用MAE损失函数。

R方(RMSE)

 

模型评估方法Python 模型评估f1_MSE_07

 

 

RMSE和MAE有局限性:同一个算法模型,解决不同的问题,不能体现此模型针对不同问题所表现的优劣。因为不同实际应用中,数据的量纲不同,无法直接比较预测值,因此无法判断模型更适合预测哪个问题。方案:将预测结果转换为准确度,结果都在[0, 1]之间,针对不同问题的预测准确度,可以比较并来判断此模型更适合预测哪个问题;