ROC曲线 及其绘制

本文转自:http://blog.csdn.net/chl033/article/details/4507544

ROC曲线(Receiver Operating Characteeristic Curve)是显示Classification模型真正率和假正率之间折中的一种图形化方法。 

解读ROC图的一些概念定义:: 

真正(True Positive , TP)被模型预测为正的正样本 
假负(False Negative , FN)被模型预测为负的正样本 
假正(False Positive , FP)被模型预测为正的负样本 
真负(True Negative , TN)被模型预测为负的负样本 

真正率(True Positive Rate , TPR)或灵敏度(sensitivity) 
TPR = TP /(TP + FN) 
正样本预测结果数 / 正样本实际数 
假负率(False Negative Rate , FNR) 
FNR = FN /(TP + FN) 
被预测为负的正样本结果数 / 正样本实际数 
假正率(False Positive Rate , FPR) 
FPR = FP /(FP + TN) 
被预测为正的负样本结果数 /负样本实际数 
真负率(True Negative Rate , TNR)或特指度(specificity) 
TNR = TN /(TN + FP) 
负样本预测结果数 / 负样本实际数 

目标属性的被选中的那个期望值称作是“正”(positive) 

ROC曲线上几个关键点的解释: 

( TPR=0,FPR=0 ) 把每个实例都预测为负类的模型 
( TPR=1,FPR=1 ) 把每个实例都预测为正类的模型 
( TPR=1,FPR=0 ) 理想模型

 


一个好的分类模型应该尽可能靠近图形的左上角,而一个随机猜测模型应位于连接点(TPR=0,FPR=0)和(TPR=1,FPR=1)的主对角线上。 

ROC曲线下方的面积(AUC)提供了评价模型平均性能的另一种方法。如果模型是完美的,那么它的AUG = 1,如果模型是个简单的随机猜测模型,那么它的AUG = 0.5,如果一个模型好于另一个,则它的曲线下方面积相对较大。

 

 

下面是一段关于ROC曲线分析应用在二值分类问题的描述:“The ROC analysis applies to binary classification problems. One of the classes is selected as a “positive” one. The ROC chart plots the true positive rate as a function of the false positive rate. It is parametrized by the probability threshold values. The true positive rate represents the fraction of positive cases that were correctly classified by the model. The false positive rate represents the fraction of negative cases that were incorrectly classified as positive. Each point on the ROC plot represents a true_positive_rate/false_positive_rate pair corresponding to a particular probability threshold. Each point has a corresponding confusion matrix. The user can analyze the confusion matrices produced at different threshold levels and select a probability threshold to be used for scoring. The probability threshold choice is usually based on application requirements (i.e., acceptable level of false positives).The ROC does not represent a model. Instead it quantifies its discriminatory ability and assists the user in selecting an appropriate operating point for scoring.”  

from :http://www.shoensoft.com/blog/index.php/archives/25


*************************************************************************************************************************************

ROC曲线的绘制

matlab自带了plotroc, faruto 在此基础上进一步实现了  ibsvm中ROC曲线的绘制




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ionosphere数据集是一个二分类问题的数据集,主要是针对天气雷达的电离层特征数据。该数据集一共有34个特征变量,其中前33个是预测变量,第34个是类别变量,类别变量为g和b两类,分别代表天气雷达测得的信号穿过电离层和未穿过电离层两种情况。ROC曲线是评估分类器性能的重要工具之一,能够同时考虑分类器的灵敏度和特异性。 要绘制ionosphere数据集的ROC曲线,首先需要将数据集导入MATLAB并划分为训练集和测试集,可以使用MATLAB中的readtable函数读取数据集,再使用fitcsvm函数拟合支持向量机分类器,并使用predict函数对测试集进行预测。接下来,需要计算分类器的真正率和假正率,真正率是指正确分类为正样本的样本占所有正样本的比例,假正率是指将负样本误分类为正样本的比例。然后,使用MATLAB中的perfcurve函数可以方便地计算并绘制ROC曲线。此函数中需要传入真正率、假正率及其阈值,将roc曲线直接绘制出来。 在绘制ROC曲线的同时,还可以计算分类器的AUC值,即曲线下的面积,其值越大表示分类器性能越好。使用MATLAB中的auc函数可以直接计算AUC值。 绘制ionosphere数据集ROC曲线,可以借助MATLAB提供的强大的函数库,在MATLAB中导入数据集后进行分类器训练和测试,计算真正率和假正率,并使用perfcurve函数绘制曲线,同时计算并输出AUC值,以便对分类器性能进行评估。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值