ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【Python数据分析】数据挖掘建模——分类与预测算法评价(含ROC曲线、F1等指标的解释)

2022-01-23 17:04:23  阅读:257  来源: 互联网

标签:正例 F1 AUC 预测 ROC 分类器 算法 数据挖掘 绝对误差


模型预测效果评价,通常可以用以下指标来衡量

目录

1.绝对误差和相对误差

2.平均绝对误差、均方误差、均方根误差与平均绝对百分误差

3.Kappa统计

4.混淆矩阵

5.准确度(Accuracy)、精确率(Precision)和召回率(Recall)

6.ROC曲线与AUC

7.Python分类预测模型的特点


1.绝对误差和相对误差

Y表示实际值,\hat{Y}表示预测值,则绝对误差E表示为

E=Y-\hat{Y}

相对误差e表示为

e=\frac{Y-\hat{Y}}{Y}

2.平均绝对误差、均方误差、均方根误差与平均绝对百分误差

平均绝对误差(Mean Absolute Error, MAE)计算公式如下:

MAE=\frac{1}{n}\sum_{i=1}^{n}|E_{i}|=\frac{1}{n}\sum_{i=1}^{n}|Y_{i}-\hat{Y}_{i}|

E_{i}表示第i个实际值与预测值的绝对误差。

均方误差(Mean Squared Error, MSE)计算公式如下:

MSE=\frac{1}{n}\sum_{i=1}^{n}E_{i}^{2}=\frac{1}{n}\sum_{i=1}^{n}(Y_{i}-\hat{Y}_{i})^{2}

均方根误差(Root Mean Squared Error,RMSE)计算公式如下:

 RMSE=\frac{1}{n}\sum_{i=1}^{n}\sqrt{E_{i}^{2}}=\frac{1}{n}\sum_{i=1}^{n}\sqrt{(Y_{i}-\hat{Y}_{i})^{2}}

平均绝对百分误差(Mean Absolute Percentage Error,MAPE)计算公式如下:

一般认为MAPE小于10时,预测精度较高 

 MAPE=\frac{1}{n}\sum_{i=1}^{n}|E_{i}/Y_{i}|=\frac{1}{n}\sum_{i=1}^{n}|(Y_{i}-\hat{Y}_{i})/Y_{i}|

这几个指标都是误差分析的综合指标。

3.Kappa统计

Kappa统计是比较两个或多个观测者对同一事物或者观测者对同一事物的两次或多次观测结果是否一致,Kappa取值在区间[-1,1]内,其值的大小均有不同意义,具体如下:

4.混淆矩阵

混淆矩阵中元素的行下标对应目标的真实属性,列下标对应分类器产生的识别属性,对角线元素表示各个模式能够被分类器正确识别的百分率。下面还会有混淆矩阵更多介绍。 

5.准确度(Accuracy)、精确率(Precision)和召回率(Recall)

假阴性(FN): 算法预测为负例(N),实际上是正例(P)的个数,即算法预测错了(False);

真阴性(TN):算法预测为负例(N),实际上也是负例(N)的个数,即算法预测对了(True);

真阳性(TP):算法预测为正例(P),实际上是负例(N)的个数,即算法预测错了(False);

假阳性(FP):算法预测为正例(P),实际上也是正例(P)的个数,即算法预测对了(True)。

混淆矩阵定义如下: 

准确率表示所有样本中模型预测正确的比例;

Accuracy = \frac{TP+TN}{TP+TN+FP+FN}

精确率表示预测为正例中实际是正例(预测正确)的比例,判断预测结果准不准

Precision=\frac{TP}{TP+FP}

召回率,也叫查全率,表示实际正例中预测正确的比例,判断预测结果全不全

Recall=\frac{TP}{TP+FN}

F1是精准率和召回率的调和平均调和平均一个很重要的特性是如果两个数极度不平衡(一个很大一个很小),最终的的结果会很小,只有两个数都比较高时,调和平均才会比较高,这样便达到了平衡精准率和召回率的目的。

F1=\frac{2*Precision*Recall}{Precision+Recall}

6.ROC曲线与AUC

灵敏度(sensitivity):true positive rate,真阳性样本在实际阳性样本中的占比,也是上面的召回率

TPR=\frac{TP}{TP+FN}

特异度(specificity):true negative rate,真阴性样本在实际阴性样本中的占 

TNR= \frac{TN}{(FP + TN)}

 此图来自:统计学中的灵敏度和特异度 - 知乎

ROC(receiver operating characteristic curve,受试者工作特性)曲线是根据一系列不同的二分类方式(分界值或决定阈),以真阳性率(灵敏度)为纵坐标,假阳性率(1-特异度)为横坐标绘制的曲线。

该曲线下的积分面积(AUC)能反映分类器正确分类的统计概率,其值越接近1说明该算法效果越好。

  • AUC = 1,是完美分类器,采用这个预测模型时,存在至少一个阈值能得出完美预测。绝大多数预测的场合,不存在完美分类器。
  • 0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
  • AUC = 0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。
  • AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。

参考:什么是ROC曲线?为什么要使用ROC?以及 AUC的计算 - 云+社区 - 腾讯云

7.Python分类预测模型的特点

标签:正例,F1,AUC,预测,ROC,分类器,算法,数据挖掘,绝对误差
来源: https://blog.csdn.net/weixin_41168304/article/details/122651798

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有