绘制ROC 曲线 计算 AUC PR曲线(精准率 召回率)示例
#一 ROC评价 及曲线 AUC的值 准确率
auc 的参数来自假阳率 真阳率,一般与 metrics.roc_curve配合使用,来自sklearn正规示例网站
>>> fpr, tpr, thresholds = metrics.roc_curve(y, pred, pos_label=2)
>>> metrics.auc(fpr, tpr)
colors = ['r', 'g', 'b', 'y', 'k', 'c', 'm', 'brown', 'r']
lw = 1
Cs = [1e-6, 1e-4, 1e0]
plt.figure(figsize=(12,8))
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('ROC Curve for different classifiers')
plt.plot([0, 1], [0, 1], color='navy', lw=lw, linestyle='--')
labels = []
for idx, C in enumerate(Cs):
clf = LogisticRegression(C = C)
clf.fit(X_train, y_train)
print("C: {}, parameters {} and intercept {}".format(C, clf.coef_, clf.intercept_))
preds = clf.predict_proba(X_test)[:,1]
print("clf.predict_proba(X_test=",clf.predict_proba(X_test))
print("y_test=",y_test)
fpr, tpr, _ = roc_curve(y_test, preds)
correct_prediction = np.equal(np.round(preds), y_test)
print("准确率=",np.mean(correct_prediction))
roc_auc = auc(fpr, tpr)
plt.plot(fpr, tpr, lw=lw, color=colors[idx])
labels.append("C: {}, AUC = {}".format(C, np.round(roc_auc, 4)))
plt.legend(['random AUC = 0.5'] + labels)
#result
C:\ProgramData\Anaconda3\lib\site-packages\sklearn\linear_model\logistic.py:432: FutureWarning:Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.
C: 1e-06, parameters [[-0.00424654 -0.00232424 -0.00354647 -0.00199886 -0.00186031]] and intercept [-0.03324687]
clf.predict_proba(X_test= [[0.50885744 0.49114256][0.50879396 0.49120604][0.50869638 0.49130362]...[0.50899422 0.49100578][0.5086329 0.4913671 ][0.50862148 0.49137852]]
y_test= 8067 0
368101 0
70497 0
226567 1
73186 1..
98574 0
334252 1
293289 0
167582 0
231389 0
Name: is_duplicate, Length: 133416, dtype: int64
准确率= 0.629422258199916
C:\ProgramData\Anaconda3\lib\site-packages\sklearn\linear_model\logistic.py:432: FutureWarning:Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.
C: 0.0001, parameters [[-0.16061857 -0.09048901 -0.13250978 -0.07998846 0.68641435]] and intercept [-0.70401556]
clf.predict_proba(X_test= [[0.53112308 0.46887692][0.58009823 0.41990177][0.65390497 0.34609503]...[0.52987886 0.47012114][0.64214599 0.35785401][0.6472506 0.3527494 ]]
y_test= 8067 0
368101 0
70497 0
226567 1
73186 1..
98574 0
334252 1
293289 0
167582 0
231389 0
Name: is_duplicate, Length: 133416, dtype: int64
准确率= 0.629422258199916
C:\ProgramData\Anaconda3\lib\site-packages\sklearn\linear_model\logistic.py:432: FutureWarning:Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.
C: 1.0, parameters [[-10.25339741 -0.91965268 6.77946546 -7.16268424 3.29874476]] and intercept [-1.34016168]
clf.predict_proba(X_test= [[0.24412863 0.75587137][0.49234752 0.50765248][0.85791823 0.14208177]...[0.3597533 0.6402467 ][0.81310546 0.18689454][0.8053035 0.1946965 ]]
y_test= 8067 0
368101 0
70497 0
226567 1
73186 1..
98574 0
334252 1
293289 0
167582 0
231389 0
Name: is_duplicate, Length: 133416, dtype: int64
准确率= 0.6547715416441806
Out[27]:
<matplotlib.legend.Legend at 0x2c7f8a48>
#二 PR曲线绘制 代码
# precision_recall_curve 评价
pr, re, _ = precision_recall_curve(y_test, cv.best_estimator_.predict_proba(X_test)[:,1])
plt.figure(figsize=(12,8))
plt.plot(re, pr)
plt.title('PR Curve (AUC {})'.format(auc(re, pr)))
plt.xlabel('Recall')
plt.ylabel('Precision')
#result
绘制ROC 曲线 计算 AUC PR曲线(精准率 召回率)示例相关推荐
- 详解机器学习中 ROC曲线、AUC值、正确率、召回率
文章目录 前言简介 医学图像识别二分类问题 ROC 曲线 如何画ROC曲线 AUC 前言简介 在分类任务中,人们总是喜欢基于错误率来衡量分类器任务的成功程度.错误率指的是在所有测试样例中错分的样例比例 ...
- 分类性能度量指标:ROC曲线、AUC值、正确率、召回率、敏感度、特异度
在分类任务中,人们总是喜欢基于错误率来衡量分类器任务的成功程度.错误率指的是在所有测试样例中错分的样例比例.实际上,这样的度量错误掩盖了样例如何被分错的事实.在机器学习中,有一个普遍适用的称为混淆矩阵 ...
- 机器学习之分类性能度量指标 : ROC曲线、AUC值、正确率、召回率
北京 | 高性能计算之GPU CUDA课程11月24-26日3天密集学习 快速带你晋级阅读全文> 在分类任务中,人们总是喜欢基于错误率来衡量分类器任务的成功程度.错误率指的是在所有测试样例中错分 ...
- R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值、plot.roc函数绘制ROC曲线、添加置信区间、为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来
R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值.plot.roc函数绘制ROC曲线.添加置信区间.为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来 目录
- 分类算法的评价指标-混淆矩阵,精准率召回率,pr曲线,roc曲线等
文章目录 前言 一.混淆矩阵(confusion matrix)? 二.精准率和召回率 1.精准率 2.召回率 3.自己实现精准率和召回率以及混淆矩阵 4.sklearn中的精准率召回率以及混淆矩阵 ...
- 机器学习中精准率/召回率/PR曲线/AUC-ROC曲线等概念
目录 TP/TN/FP/FN accuracy(准确率) precision(精确率/查准率) recall(召回率/查全率) F1分数与Fβ分数 PR曲线(precision recall curv ...
- 【机器学习入门】(13) 实战:心脏病预测,补充: ROC曲线、精确率--召回率曲线,附python完整代码和数据集
各位同学好,经过前几章python机器学习的探索,想必大家对各种预测方法也有了一定的认识.今天我们来进行一次实战,心脏病病例预测,本文对一些基础方法就不进行详细解释,有疑问的同学可以看我前几篇机器学习 ...
- 图像分类 图像分割的评价指标(混淆矩阵 正确率 精准率 召回率 F1分数 IOU dice系数)
在图像分类或者图像分割中,为评价模型的预测效果,在训练过程中通常需要比较预测值与真实标签值的差距,即误差. 目录 图像分类过程的评价指标 混淆矩阵 正确率/准确率 精准率 召回率 F1分数 图像分割过 ...
- 机器学习中绘制(多标签)PR曲线和F1-score【转载】
参考:PR曲线和F1-score 评价指标相关 - 知乎 sklearn官方文档:Precision-Recall - scikit-learn 1.0.2 documentation 多标签设置中的 ...
最新文章
- python评委打分代码_STL案例—评委打分
- 曹大:我的快速阅读法
- 华为手机安装系统能换鸿蒙,华为鸿蒙将全面上线,安卓系统或将被彻底替换
- 理论基础 —— 查找
- 元学习Meta Learning/Learning to learn
- Eclipse使用(入门教程)
- 计算机仿真专业学什么,计算机科学与技术知识专业 计算机仿真技术知识课件.ppt...
- [分布式系列]Gossip协议
- 一个很有意思的赛马问题
- 短视频代运营服务内容
- c语言 程序设计 题库答案 p,《C语言程序设计》复习题库答案.doc
- 迈微科讯 | 最新科技发展资讯
- C++性能之战(1)--深入到汇编看++i、i++、i+=1、i=i+1的区别
- Linux安装Elasticsearch详细教程
- 以前写的网页游戏辅助工具源码 传奇类的HOOK 封包 按钮
- [附源码]计算机毕业设计Python+uniapp篮球竞技系统APPo206c(程序+lw+APP+远程部署)
- 关于Time dependence
- win10使用C语言运行坦克大战游戏(转载)
- 推石磨机器人_您见过机器人豆腐西施吗?七旬老人发明出来了,能推石磨添料揽客...
- 3GP/MP4 视频文件格式解析及其播放原理(转)
热门文章
- 如何从功能测试转化自动化测试?
- php 如何得到 file_get_contents 数据,如何使用file_get_contents在PHP中发布数据?
- 计算机电路门,7.3 门电路计算机操作系统原理.pdf
- python分类流程_文本分类指南:你真的要错过 Python 吗?
- android+tv+自动切换,Android TV 重写GridView,实现焦点放大效果
- mysql临时表是什么意思_来谈谈MySQL的临时表,到底是个什么东西,以及怎么样产生的...
- 输入两个数,计算它们的最大公约数和最小公倍数
- java怎么做简易的游戏,Java小项目之《简易桌面小游戏》
- 加密保护软件 WinLicense 注册常见问题(一):许可证
- 图片轮播点击轮播(二)