roc曲线

分类与预测算法的评价

左心房为你撑大大i 提交于 2019-12-03 13:37:43
分类与预测的任务是在数据挖掘中经常完成的任务,那么这带来的一个问题是我们如何对一个分类与预测的模型进行评价那? 评价有很多的方式,你比如说:均方误差法,这应该是误差分析的综合指标的方式之一,这在神经网络是经常用到的. 这里我们主要关注分类或者预测的结果与实际值之间的差距,有一个很重要的模型,是经常用到关于其分类的评价的,即 ROC曲线 . ROC曲线在我以前的博客中已经有实现的具体代码,这里要详细展开详细分析. ROC的模型的构建的基础是 混淆矩阵 .从混淆矩阵中,混淆矩阵是模式识别领域中一种常用的表达形式,它描绘了样本数据的真实属性与识别结果之间类型的关系。(如果评价结果合理,其对角线上的值总是非常大的)* ROC曲线的横轴与纵轴就是基于混淆矩阵而产生。纵轴称为“真正例率(TPR)”,横轴称为“假正例率(FPR)” 对应的混淆矩阵如下; 其对应的定义为: 其绘制的评价的ROC曲线为: 上面的大多数东西在网上都能够找到,那么我们怎么样评价模型的好坏那? 即引出AUC的概念,它的意思是曲线与横轴围成的面积,直观一点说就是,如果曲线越靠近我们的y轴,那么其模型的评价就是越好的.,因为越靠近y轴,其面积也就越大..(具体计算可以积分) 这带来的一个启发就是,我们针对一个分类与预测问题,可以分别用不同的算法是对其实现(比如可以用决策树与神经网络分别对其实现),分别构造这两者的 混淆矩阵

查全率(Recall),查准率(Precision),灵敏性(Sensitivity),特异性(Specificity),F1,PR曲线,ROC,AUC的应用场景

匿名 (未验证) 提交于 2019-12-02 23:52:01
之前介绍了这么多分类模型的性能评价指标( 《 分类模型的性能评价指标(Classification Model Performance Evaluation Metric) 》 ),那么到底应该选择哪些指标来评估自己的模型呢?答案是应根据应用场景进行选择。 查全率(Recall) :recall是相对真实的情况而言的:假设测试集里面有100个正类,如果模型预测出其中40个是正类,那模型的recall就是40%。查全率也称为 召回率 ,等价于 灵敏性(Sensitivity) 和 真正率(True Positive Rate,TPR) 。 查全率的应用场景 :需要尽可能地把所需的类别检测出来,而不在乎结果是否准确。比如对于地震的预测,我们希望每次地震都能被预测出来,这个时候可以牺牲precision。假如一共发生了10次地震,我们情愿发出1000次警报,这样能把这10次地震都涵盖进去(此时recall是100%,precision是1%),也不要发出100次警报,其中有8次地震给预测到了,但漏了2次(此时recall是80%,precision是8%)。 查准率(Precision) :precision是相对模型的预测结果而言的:假设模型一共预测出了100个正类,其中80个是正确的,那么precision就是80%。 查准率的应用场景 :需要尽可能地把所需的类别检测准确

R语言中绘制ROC曲线和PR曲线

匿名 (未验证) 提交于 2019-12-02 23:42:01
版权声明:本文为博主原创文章,未经博主允许不得转载。咨询链接:http://y0.cn/teradat 博文链接: https://blog.csdn.net/qq_19600291/article/details/89888141 接收器操作特性(ROC)曲线可能是评估评分分类器的预测性能的最常用的度量。 预测正类(+1)和负类(-1)的分类器的混淆矩阵具有以下结构: 预测/参考类 +1 -1 +1 TP FP -1 FN TN 这里,TP表示真阳性的数量(模型正确预测正类),FP表示误报的数量(模型错误地预测正类),FN表示假阴性的数量(模型错误地预测阴性类),TN表示真阴性的数量(模型正确预测阴性类)。 ROC曲线 在ROC曲线中,相对于假阳性率(FPR,x轴)绘制真阳性率(TPR,y轴)。这些数量定义如下: TPRFPR=TPTP+FN=FPFP+TNTPR=TPTP+FNFPR=FPFP+TN y^i=3.5y^i=3.5y^i=2y^i=2 [0,1][0,1] <span style="color:#000000"><span style="color:#000000"><code>plot.scores.AUC <- <strong>function</strong>(y, y.hat, measure = <span style="color:#880000">

机器学习算法常用指标总结

匿名 (未验证) 提交于 2019-12-02 23:36:01
机器学习性能评价标准是模型优化的前提,在设计机器学习算法过程中,不同的问题需要用到不同的评价标准,本文对机器学习算法常用指标进行了总结。 阅读目录 1. TPR、FPR&TNR 2. 精确率Precision、召回率Recall和F1值 3. 综合评价指标F-measure 4. ROC曲线和AUC 5. 参考内容   考虑一个二分问题,即将实例分成正类(positive)或负类(negative)。对一个二分问题来说,会出现四种情况。如果一个实例是正类并且也被 预测成正类,即为真正类(True positive),如果实例是负类被预测成正类,称之为假正类(False positive)。相应地,如果实例是负类被预测成负类,称之为真负类(True negative),正类被预测成负类则为假负类(false negative)。   TP:正确肯定的数目;   FN:漏报,没有正确找到的匹配的数目;   FP:误报,给出的匹配是不正确的;   TN:正确拒绝的非匹配对数;   列联表如下表所示,1代表正类,0代表负类: 1. TPR、FPR&TNR   从列联表引入两个新名词。其一是 真正类率(true positive rate ,TPR) , 计算公式为 刻画的是分类器所识别出的 正实例占所有正实例的比例。   另外一个是 ,计算公式为 FPR = FP / (FP + TN)

泰坦尼克号生存预测分析

半城伤御伤魂 提交于 2019-11-30 23:44:23
此文发表在简书,复制过来,在下方放上链接。 https://www.jianshu.com/p/a09b4dc904c9 泰坦尼克号生存预测 1. 背景与挖掘目标 “泰坦尼克号”的沉没是历史上最臭名昭著的海难之一。1912年4月15日,泰坦尼克号在处女航中与冰山相撞后沉没,2224名乘客和机组人员中有1502人死亡。这场耸人听闻的悲剧震惊了国际社会,并导致了更好的船舶安全条例。 造成沉船事故的原因之一是没有足够的救生艇供乘客和机组人员使用。虽然在沉没中幸存了一些运气,但一些人比其他人更容易生存,如妇女、儿童和上层阶级。 请根据这些数据(见数据来源)实现以下目标。 在这个挑战中,我们要求你们完成对什么样的人可能生存的分析。特别是,我们要求你运用机器学习的工具来预测哪些乘客在悲剧中幸存下来。 2. 分析方法与过程 泰坦尼克号生存预测主要包括以下步骤。 1) 数据描述性统计 2) 对步骤1)进行数据探索分析(寻找特征值)与预处理,包括数据缺失值的探索分析,数据的属性规约,清洗和变换 3) 利用2)中形成的已完成数据预处理的建模数据训练模型 4) 针对模型结果预测测试集人的生存情况 2.1数据来源和含义 数据来自于知名机器学习竞赛网站kaggle: https://www.kaggle.com/c/titanic/data 说明: PassengerId => 乘客ID Pclass =>

AUC指标

一笑奈何 提交于 2019-11-28 08:33:57
AUC数值即为ROC曲线下的面积。ROC曲线从0点开始上升越快,说明模型错分正样本的比例越小,模型对正样本识别的能力越强。在ROC曲线的基础上,抛开阈值的调节,ROC曲线下半部分的面积值就是AUC值。AUC值介于0到1之间,是一种概率值。本质上AUC是在模型预测的数据集中,比较正负样本,评估正样本分数排在负样本之上的能力,进而估计模型对正样本预测的可信程度。 由于AUC指标能较好地概括不平衡类别的样本集下分类器的性能,因此成为很多机器学习系统中的最终判定标准。 来源: https://blog.csdn.net/jxq0816/article/details/100045260