python 分类问题 画roc曲线实战
目录
roc曲线详解:
首先看一下需要的数据:
完整的代码:
roc曲线详解:
受试者工作特征曲线 (receiver operating characteristic curve,简称ROC曲线),又称为感受性曲线(sensitivity curve)。得此名的原因在于曲线上各点反映着相同的感受性,它们都是对同一信号刺激的反应,只不过是在几种不同的判定标准下所得的结果而已。为了了解ROC曲线的意义,我们首先得了解一些变量。以下定义引自维基百科
最近在做一些分类的任务,评价中的ROC曲线在很多地方都会用得到,特别在论文中。在此记录一下在做ROC曲线的过程中遇到的一些坑。
首先看一下需要的数据:
第一列是真实值 第二列是分数 第三列是预测值
0 0.9777694940567017 0 0 0.4195287823677063 1 0 0.6916269063949585 0 1 0.6496472954750061 1 1 0.13310739398002625 0 1 0.5438785552978516 0 0 0.9020959734916687 0 0 0.9027289748191833 0 0 0.9631645083427429 0 1 0.5531736612319946 1 1 0.5298251509666443 1 0 0.8946734070777893 0 0 1.011642336845398 0 0 0.22767378389835358 1 1 0.6624225974082947 1 1 0.6401157975196838 1 1 0.23411975800991058 1 0 0.6916269063949585 0 1 0.892021119594574 0 0 0.5835625529289246 0
完整的代码:
import numpy as np
import matplotlib.pyplot as plt
from sklearn.preprocessing import label_binarize
from sklearn.metrics import confusion_matrix,classification_report
from sklearn.metrics import roc_curve, auc
from sklearn.metrics import cohen_kappa_score, accuracy_score
# y1=[0,1,0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0]with open("batch_16_epoch_2.txt","r",encoding="utf-8") as f:y_true, y_sore,y_pre=[],[],[]f=f.readlines()data=[i.split("\n")[0].split(" ") for i in f ]print("# 第一列是真实值 第二列是分数 第三列是预测值",data)for line in data:y_true.append(int(line[0]))y_sore.append(float(line[1]))y_pre.append(int(line[2]))
from sklearn.metrics import roc_curve, auc
fpr, tpr, thresholds = roc_curve(y_true,y_pre)
roc_auc = auc(fpr, tpr)
plt.title('Receiver Operating Characteristic')
plt.plot(fpr, tpr, '#9400D3',label=u'AUC = %0.3f'% roc_auc)plt.legend(loc='lower right')
plt.plot([0,1],[0,1],'r--')
plt.xlim([-0.1,1.1])
plt.ylim([-0.1,1.1])
plt.ylabel('True Positive Rate')
plt.xlabel('False Positive Rate')
plt.grid(linestyle='-.')
plt.grid(True)
plt.show()
print(roc_auc)
python 分类问题 画roc曲线实战相关推荐
- python 针对二分类问题画roc曲线
代码详解: import numpy as np import matplotlib.pyplot as plt from sklearn.preprocessing import label_bin ...
- 数据挖掘 python roc曲线_利用scikitlearn画ROC曲线实例
一个完整的数据挖掘模型,最后都要进行模型评估,对于二分类来说,AUC,ROC这两个指标用到最多,所以 利用sklearn里面相应的函数进行模块搭建. 具体实现的代码可以参照下面博友的代码,评估svm的 ...
- python画出roc曲线 auc计算逻辑_Python画ROC曲线和AUC值计算
前言 ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣.这篇文章将先简单的介绍ROC和AU ...
- python 画roc曲线
这个直接画: from sklearn import metrics import numpy as np import matplotlib.pyplot as pltplt.figure(0).c ...
- python画roc曲线需要什么数据_python sklearn画ROC曲线
preface:最近<生物信息学>多次谈到AUC,ROC这两个指标,正在做的project,要求画ROC曲线,sklearn里面有相应的函数,故学习学习. AUC: ROC: 具体使用参考 ...
- 多分类下的ROC曲线和AUC
本文主要介绍一下多分类下的ROC曲线绘制和AUC计算,并以鸢尾花数据为例,简单用python进行一下说明.如果对ROC和AUC二分类下的概念不是很了解,可以先参考下这篇文章:机器学习之分类器性能指标之 ...
- r roc函数_画ROC曲线的R包总结
原标题:画ROC曲线的R包总结 作者: Joseph Rickert 原文链接: https://rviews.rstudio.com/2019/03/01/some-r-packages-for-r ...
- 如何画ROC曲线和FROC曲线
画ROC曲线代码 具体去看https://www.jianshu.com/p/5df19746daf9.,里面的代码讲的详细 例子 # coding=UTF-8 from sklearn import ...
- 多分类下的ROC曲线和AUC
本文主要介绍一下多分类下的ROC曲线绘制和AUC计算,并以鸢尾花数据为例,简单用python进行一下说明.如果对ROC和AUC二分类下的概念不是很了解,可以先参考下这篇文章:http://blog.c ...
最新文章
- guice google_与Google Guice的动手实践
- 使用PyCharm运行第一行python代码
- java.sql.SQLException: Value'0000-00-00'异常解决办法
- Arrays和比较器
- Python如何开发一款连连看脚本,第一必须是我。
- 导航栏的HTML的布局方式
- audioread函数未定义_我在MATLAB中运行下面的程序, 提示未定义函数或变量wavread 这是为什么呀?求解答...
- asp.net大文件分块上传视频教程
- python如何采集同花顺股票日度历史数据
- 初学jQuery Easy UI的总结
- Android获取本机号码闪退,手机号码是移动的,现在手机已经停机,想充话费却不知道本机号码,肿么查询本机号码?()...
- android 显示进度,progressdialog-如何在Android中显示进度对话框?
- sequoia,一个非常通用的数据库集群解决方案
- 彩色图像增强(限制对比度直方图阈值均衡化)Python,Win10
- 使用nid工具修改db_name和DBID
- 深度解析—汽车“以租代购”究竟是怎么回事?
- 永磁同步电机绝对位置的调零
- 业务层 、服务层、数据层、表现层
- 2012年11月5日 记录
- vue自定义打印模版