准确率,召回率,F1 值、ROC,AUC、mse,mape 评价指标

机器学习中的评价指标(分类指标评Accuracy、Precision、Recall、F1-score、ROC、AUC )(回归指标评价MSE、RMSE、MAE、MAPE、R Squared) 文章目录1.机器学习中的评价指标基础(一)分类指标评价1.Accuracy2.Precision、查准率3.Recall、查全率4.F1-score举个例子:5.ROC6.AUC(二)回归指标评价1.均方误差(MSE)2.均方根误差(RMSE)3.MAE(平均绝对误差)4.MAPE5.R Squared 1.机器学习中的评价指标 简要介绍精度、精确率、召回率、P-R曲线、F1 值、TPR、FPR、... 阅读详情

在机器学习、数据挖掘领域,工业界往往会根据实际的业务场景拟定相应的业务指标。本文旨在一起学习比较经典的三大类评价指标,其中第一、二类主要用于分类场景、第三类主要用于回归预测场景,基本思路是从概念公式,到优缺点,再到具体应用(分类问题,本文以二分类为例)。

1.准确率P、召回率R、F1 值

  • 定义
    • 准确率(Precision):P=TP/(TP+FP)。通俗地讲,就是预测正确的正例数据占预测为正例数据的比例。
    • 召回率(Recall):R=TP/(TP+FN)。通俗地讲,就是预测为正例的数据占实际为正例数据的比例
    • F1值(F score):
  • 思考
    • 正如下图所示,F1的值同时受到P、R的影响,单纯地追求P、R的提升并没有太大作用。在实际业务工程中,结合正负样本比,的确是一件非常有挑战的事。
    • 图像展示
    • 下面附上源码
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm

fig = plt.figure()
ax = fig.add_subplot(111,projection='3d')
x = np.linspace(0,1,100)
p,r = np.meshgrid(x,x)    #meshgrid函数创建一个二维的坐标网络
z = 2*p*r/(p+r)
ax.plot_surface(x,y,z,rstride=4,cstride=4,cmap=cm.YlGnBu_r)
ax.set_title('F1')  #标题
ax.set_xlabel('precision')   #x轴标签
ax.set_ylabel('recall')   #y轴标签
plt.show()
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

2.ROC、AUC

  • 概念

    • TPR=TP/(TP+FN)=TP/actual positives
    • FPR=FP/(FP+TN)=FP/actual negatives
    • ROC是由点(TPR,FPR)组成的曲线,AUC就是ROC的面积。AUC越大越好。
    • 一般来说,如果ROC是光滑的,那么基本可以判断没有太大的overfitting
  • 图像展示
  • 附上代码
library(ROCR)
p=c(0.5,0.6,0.55,0.4,0.7)
y=c(1,1,0,0,1)
pred = prediction(p, y)
perf = performance(pred,"tpr","fpr")
plot(perf,col="blue",lty=3, lwd=3,cex.lab=1.5, cex.axis=2, cex.main=1.5,main="ROC plot")
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • python版本计算AUC
from sklearn import metrics
def aucfun(act,pred):
  fpr, tpr, thresholds = metrics.roc_curve(act, pred, pos_label=1)
  return metrics.auc(fpr, tpr)
   
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4
  • 直接利用AUC优化分类任务(R语言版)

    下面是代码
#生成训练数据
set.seed(1999)
x1 = rnorm(1000)          
x2 = rnorm(1000)
z = 1 + 2*x1 + 3*x2       
pr = 1/(1+exp(-z))        
y = rbinom(1000,1,pr)     

#使用logloss作为训练目标函数
df = data.frame(y=y,x1=x1,x2=x2)
glm.fit=glm( y~x1+x2,data=df,family="binomial")

#下面使用auc作为训练目标函数
library(ROCR)

CalAUC <- function(real,pred){
  rocr.pred=prediction(pred,real)
  rocr.perf=performance(rocr.pred,'auc')
  as.numeric(rocr.perf@y.values)
}
#初始值
beta0=c(1,1,1)

loss <- function(beta){
  z=beta[1]+beta[2]*x1+beta[3]*x2
  pred=1/(1+exp(-z))
  -CalAUC(y,pred)
}

res=optim(beta0,loss,method = "Nelder-Mead",control = list(maxit = 100))
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

3.PRC、ROC比较

  • AUC是ROC的积分(曲线下面积),是一个数值,一般认为越大越好,数值相对于曲线而言更容易当做调参的参照。
  • PR曲线会面临一个问题,当需要获得更高recall时,model需要输出更多的样本,precision可能会伴随出现下降/不变/升高,得到的曲线会出现浮动差异(出现锯齿),无法像ROC一样保证单调性。
  • 在正负样本分布得极不均匀(highly skewed datasets)的情况下,PRC比ROC能更有效地反应分类器的好坏。

4.mape平均绝对百分误差

  • 定义
  • 技巧
    • 在sklearn中,对于回归任务,一般都提供了mse损失函数(基于树的模型除外)。但有时我们会遇到sklearn中没有定义的损失函数,那么我们可以自定重写模型或者定义函数,下面以xgboost为模型,mape作为损失函数为例(grad、hess分别对应损失函数一阶导、二阶导)。
    • 代码
def mapeobj(preds,dtrain):
    gaps = dtrain.get_label()
    grad = np.sign(preds-gaps)/gaps
    hess = 1/gaps
    grad[(gaps==0)] = 0
    hess[(gaps==0)] = 0
    return grad,hess  

def evalmape(preds, dtrain):
    gaps = dtrain.get_label()
    err = abs(gaps-preds)/gaps
    err[(gaps==0)] = 0
    err = np.mean(err)
    return 'error',err  
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

参考资源
1.关于AUC,你应该知道的和可能不知道的 (PS.最近才知道,这篇文章的作者是工大的校友啊)

转载:https://blog.youkuaiyun.com/a819825294/article/details/51699211

2.sklearn—评价指标大全(平均误差、均方误差、混淆矩阵、准确率、查全率、查准率、召回率、特异度,F1-score、G-mean、KS值、ROC曲线、AUC值、损失函数、结构风险最小) 平均误差、均方误差、混淆矩阵、准确率、查全率、查准率、召回率、特异度,F1-score、G-mean、KS值、ROC曲线、AUC值、损失函数、经验风险最小、结构风险最小 阅读详情

相关推荐

模型评价指标---分类,聚类,回归

在一堆癌症病人和正常人中,有多少人被系统给出了正确诊断结果(患癌或没患癌)?– 残差平方和,表示预测值和真实值之间的差异,差异越大,说明模型不能解释的部分越多。在一堆得了癌症的病人中,到底有多少人能被成功检测出癌症?在诊断为癌症的一堆人中,到底有多少人真得了癌症?—用Precision。1.地震,为了不漏报,宁愿报错不愿漏报,提升召回率(recall)2.银行人脸识别:不能接受误检,提升精度(Precision)– 回归平方和,表示预测值的分散程度。– 总体平方和,表示数据分散的程度。

weixin_49744683的博客 1427

准确率,召回率,F1 值、ROC,AUC、mse,mape评价指标

在机器学习、数据挖掘领域,工业界往往会根据实际的业务场景拟定相应的业务指标。本文旨在一起学习比较经典的三大类评价指标,其中第一、二类主要用于分类场景、第三类主要用于回归预测场景,基本思路是从概念公式,到优缺点,再到具体应用(分类问题,本文以二分类为例)。 1.准确率P、召回率R、F1 值 定义 准确率(Precision):P=TP/(TP+FP)。通俗地讲,就是预测正确的正例数据占预测为正例数

雪伦的专栏 6万+

R语言计算F1评估指标实战:F1 score、使用R中caret包中的confusionMatrix()函数为给定的logistic回归模型计算F1得分(和其他指标)

R语言计算F1评估指标实战:F1 score、使用R中caret包中的confusionMatrix()函数为给定的logistic回归模型计算F1得分(和其他指标) 目录 R语言计算F1评估指标实战:F1 score、使用R中caret包中的confusionMatrix()函数为给定的logistic回归模型计算F1得分(和其他指标) #F1评估指标 #计算F1评估指标 #F1评估指标 当在机器学习中使用分类模型时,我们用来评估模型质量的一个常见度量是F1得分。 此指标计算如下

data+scenario+science+insight 3094

基于IOU的F1-score指标(附python代码)

基于IOU的F1是评价模型实例分割能力的一种评价指标,该指标在2018年的Urban 3D Challenge和2020年的阿里天池建筑智能普查竞赛中作为评价标准。 计算公式如下: def get_buildings(mask, pixel_threshold): gt_labeled_array, gt_num = ndimage.label(mask) unique, cou...

如果想成为中心,那么就到中心去吧。 3045

R语言使用caret包的confusionMatrix函数计算混淆矩阵、基于混淆矩阵的信息手动编写函数计算f1指标

R语言使用caret包的confusionMatrix函数计算混淆矩阵、基于混淆矩阵的信息手动编写函数计算f1指标

statistics+insight+vista+power 1068

使用R语言计算AUC指标

它衡量的是模型的预测结果在不同阈值下的真阳性率和假阳性率之间的面积。AUC的取值范围在0到1之间,数值越接近1表示模型性能越好。需要注意的是,上述示例中使用了随机生成的预测结果和真实标签作为示例数据。在实际应用中,您需要根据自己的数据和模型结果进行相应的替换。在R语言中,可以使用多个包来计算AUC指标,最常用的包包括。接下来,假设我们有一个二分类模型的预测结果。运行以上代码,将得到AUC指标的计算结果。通过以上步骤,您可以使用R语言中的。包为例,演示如何计算AUC指标。是模型预测的概率值。

CyberLynxO的博客 760

准确率,召回率,F1 值、ROC,AUC、mse/mape评价指标

本文转自准确率,召回率,F1 值、ROC,AUC、mse,mape评价指标 在机器学习、数据挖掘领域,工业界往往会根据实际的业务场景拟定相应的业务指标。本文旨在一起学习比较经典的三大类评价指标,其中第一、二类主要用于分类场景、第三类主要用于回归预测场景,基本思路是从概念公式,到优缺点,再到具体应用(分类问题,本文以二分类为例)。 1.准确率P、召回率R、...

林海 2403

SV fork join_none & for循环结合使用

fork join_none与循环联用常见问题解决方案

ZhangShuHuai11的博客 880

(机器学习算法常用指标)准确率,召回率,F1 值、ROC,AUC、mse、mape评价指标

机器学习算法常用指标文章汇总(持续更新):1、雪伦csdn:准确率,召回率,F1 值、ROC,AUC、mse,mape评价指标http://blog.youkuaiyun.com/a819825294/article/details/516992112、Poll的笔记:机器学习算法常用指标http://www.cnblogs.com/maybe2030/p/5375175.html...

王琨的博客 4486

Skynet 框架面试题

本文整理了游戏服务端开发面试中 Skynet 框架的高频考点,涵盖底层架构、消息派发、协程调度、网络 I/O、harbor 跨机通信、内存管理、socket 处理、阻塞操作、错误处理等核心内容。全面覆盖 Skynet 框架的原理、使用和实战问题,追求深入准确,拒绝八股文。

小赖的博客 381

Java判断地图坐标(经度,纬度)是否在多边形区域或圆形区域内

​欢迎光临我的博客查看最新文章:在地图上,可以使用经纬度确定一个位置,如上海体育场(121.449391,31.188228),如果知道了2个地点的经纬度,我们就能在地图上找到其位置及2点的距离,百度地图或高德地图提供了相应的服务;如果将多个坐标点连成多边形区域,如何判断某个坐标点是否在多边形区域内,如下工具类。

river106的博客 3943

回归模型和分类模型

在进行模型构建与分析时,模型评价是非常关键的一步。合适的评价指标可以帮助我们准确地衡量模型的性能,从而进行优化和改进。然而,不同的模型和应用场景需要使用不同的评价指标。下面将分别介绍回归模型与分类模型常用的一些评价指标。

m0_37228052的博客 689

Silvaco TCAD仿真例库——肖特基二极管反向击穿特性(案例)

本文详细解析了使用Silvaco TCAD仿真例库进行肖特基二极管反向击穿特性分析的完整案例。通过构建包含浮空P型保护环的平面结构,重点阐述了针对雪崩击穿仿真的关键步骤,包括高精度网格划分、碰撞电离模型(impact selb)的启用以及反向电压的精细扫描策略。文章深入探讨了漂移区掺杂浓度、保护环设计等参数对击穿电压的影响,并提供了实用的调试心得,旨在帮助工程师精准预测和优化功率肖特基二极管的反向耐压能力。

fire9的博客 724

分类与回归算法(一)- 模型评价指标

本文系统介绍了分类与回归算法的核心原理、适用场景及优缺点,重点分析了常用分类算法(逻辑回归、决策树、SVM、随机森林)和回归算法(线性回归、岭回归/Lasso回归、决策树回归、GBDT)。针对分类任务,详细阐述了基于混淆矩阵的评价指标体系,包括准确率、精确率、召回率和F1分数,通过数学公式说明其计算方法,并结合实际业务场景(如医疗诊断、金融风控)分析各指标的适用性与权衡关系。文章为机器学习模型选择与评估提供了全面的方法论指导。

zcs2312852665的博客 1020

ESP32-S3驱动OV3660摄像头原理图设计,已量产

本文重点拆四条主线:多来源输入电源如何收敛到 3V3,摄像头三路供电如何拆分,ESP32-S3 如何接住 DVP 数据流与外部存储,以及音频/补光/传感外围怎样挂到主控边上。至于最终图像帧率、算法策略和软件时序,当前原理图未体现。

不脱发的程序猿 982

【A_Star三维路径规划】基于matlab A_Star算法结合B样条平滑三维地形路径规划(含雷达威胁)【含Matlab源码 3527期】

A_Star算法结合B样条平滑三维地形路径规划(含雷达威胁) 完整代码,包运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 741

机器学习训练集、验证集、测试集,分类问题和回归问题评估指标,交叉验证法,macro avg与weighted avg含义,roc_auc_score与classification_report函数

机器学习训练集、验证集、测试集,分类问题和回归问题评估指标,数据集划分方式:交叉验证法,precision、recall、f1-score与accuracy介绍,maro avg:宏平均,计算方式为每个类型的算术平均,weighted avg:加权平均,是用每个类型样本数量与对应权重相乘再除以所有类别的样本总数,ROC、AUC

我的个人博客 1万+

STM32入门教程:水位传感器应用

这是一个简单的STM32水位检测系统的入门教程。希望通过学习本教程,您能对STM32微控制器的基本应用有更深入的了解,并能成功构建一个水位检测系统。如果您需要更详细的代码实例和教程,请参考相关的STM32开发手册和应用笔记。STM32是一款功能丰富且广泛应用于嵌入式系统的微控制器系列。在本教程中,我们将介绍如何使用STM32微控制器和水位传感器构建一个水位检测系统。

wx_linying1029的博客 533

模型评价指标

ROC曲线: 与前面的P-R曲线相似,根据分类器的预测结果从大到小对样例进行排序,逐个把样例加入正例进行预测,每次计算出TPR和FPR,分别以它们为横、纵坐标作图,就得到了 “ROC曲线”,ROC曲线的纵轴是“真正例率” (True Positive Rate,简称 TPR),横轴是“假正例率”一(False PositiveRate,简称FPR)如:一个总样本中,正样本占90%,负样本占10%,样本是严重不平衡的,此时我们只需要将全部样本预测为正样本就可得到90%的高准确率。

SQL__Learning的博客 2781

9篇3章7节:基于 R 语言的 FAERS 数据提取与合并

本文主要探讨了 FAERS 数据提取与合并的操作流程。首先,通过程序化方法从本地存储的 FAERS ASCII 文件中提取指定季度或范围内的单药报告数据,并可通过参数设置控制数据存储位置、处理方式、计算资源分配以及报告者职业类别等。随后,通过批量读取的方式对多个季度的 DRUG 文件进行循环处理,并将其合并为一个综合数据框。

MD Code 1264

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

机器学习预测评价常用指标

在我们建模的时候,我们要去选择出我们最棒的模型,就比如昨天的波士顿房价预测采用xgbt里面,我们最后需要选择出表现最好的那棵树,那怎么去评价好坏?上图蓝点是真实值,绿线为样本均值,黄线可以预测样本趋势,但是显而易见,黄线的MSE比绿线高,哪怕其能表达样本规律,MSE上黄线就是输了!如A类有995个,B类5个,我将1000个样本99.5%,你猜一个样本是不是A类的时候,99.5%的情况你都会猜对,岂不是成了大预言家?eg若y的单位是万元,MSE计算出来的是万元的平方,对于该值,难以解释该值含义。...

weixin_54202028的博客 1万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: 理解group by
下一篇: 【论文笔记】人脸检测窗口选择办法 NMS convnet
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值