机器学习小组第二周:如何评价模型的好坏

决定改掉拖延症,不再等待,能做的东西立马做。

学习目标

1、数据拆分:训练数据集&测试数据集
2、评价分类结果:精准度、混淆矩阵、精准率、召回率、F1 Score、ROC曲线等
3、评价回归结果:MSE、RMSE、MAE、R Squared

学习资料

首先,建议阅读《机器学习的敲门砖:kNN算法(中)》全文。该篇文章以刚刚学习过的kNN算法为例,介绍了数据拆分,即划分训练数据集&测试数据集的方法。还详细讲解了分类准确度accuracy这一知识点。
然后,还需要阅读《评价分类结果(上):混淆矩阵、精准率、召回率》全文,以及《评价分类结果(下):F1 Score、ROC、AUC》,全面了解评价分类结果。
最后,需要阅读《模型之母:线性回归的评价指标》,学习评价回归结果:MSE、RMSE、MAE、R Squared。

西瓜书第二章,介绍了模型评估与选择的相关内容。


20200305
准确度(accuracy)
不一定在所有情况都适用,如对于极端不平衡的分类数据。

混淆矩阵(confusion matrix)

预测值0预测值1
真实值0TNFP
真实值1FNTP

以TN举例,真实值为TRUE,预测为negative,即为0,预测正确,其他三个同理解释。

预测值0预测值1
真实值0997812
真实值128

根据上述混淆矩阵我们可以计算出很多数字特征,见下:
精准率(precision)-也叫查准率
p r e c i s i o n = T P T P + F P precision = \frac{TP}{TP+FP} precision=TP+FPTP
所谓的精准率是:分母为所有预测为1的个数,分子是其中预测对了的个数,即预测值为1,且预测对了的比例。即精准率为我们关注的那个事件,预测的有多准。
召回率(recall)-也叫查全率
r e c a l l = T P T P + F N recall = \frac{TP}{TP+FN} recall=TP+FNTP
所谓召回率是:所有真实值为1的数据中,预测对了的个数。也就是我们关注的那个事件真实的发生情况下,我们成功预测的比例是多少。

上述两种指标,在不同的场景有不同的选择。
如果同时需要关注两种指标,那么我们需要使用下面一种指标。

F1 score
F 1 = 2 ∗ 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{2*precision*recall}{precision+recall} F1=precision+recall2precisionrecall
一般来说,F1 score要比上两者更直观。

ROC(Receiver Operation Characteristic Cureve)
precision就是所有正例中,有多少被正确地判定为正;
recall是所有负例中,有多少被错误地判定为正。
ROC就是描述这两者的曲线,前者越大越好,后者越小越好。

AUC(Area Under Curve)
AUC就是ROC曲线下面的面积。这个AUC是横轴范围(0,1 ),纵轴是(0,1)所以总面积是小于1的。


上面几个是针对分类问题的指标,下面介绍回归问题的指标。
比较简单,就列一下公式。
均方误差MSE
1 m ∑ i = 1 m ( y t e s t i − y t e s t ′ i ) 2 \frac{1}{m}\sum_{i=1}^{m}(y^{i}_{test}-y'^{i}_{test})^2 m1i=1m(ytestiytesti)2
均方根误差RMSE
1 m ∑ i = 1 m ( y t e s t i − y t e s t ′ i ) 2 \sqrt{\frac{1}{m}\sum_{i=1}^{m}(y^{i}_{test}-y'^{i}_{test})^2} m1i=1m(ytestiytesti)2
平均绝对误差MAE
1 m ∑ i = 1 m ∣ y t e s t i − y t e s t ′ i ∣ \frac{1}{m}\sum_{i=1}^{m}|y^{i}_{test}-y'^{i}_{test}| m1i=1mytestiytesti
还有R的平方


代码部分的话全放自己的jupyter里面了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值