#一 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曲线(精准率 召回率)示例相关推荐

  1. 详解机器学习中 ROC曲线、AUC值、正确率、召回率

    文章目录 前言简介 医学图像识别二分类问题 ROC 曲线 如何画ROC曲线 AUC 前言简介 在分类任务中,人们总是喜欢基于错误率来衡量分类器任务的成功程度.错误率指的是在所有测试样例中错分的样例比例 ...

  2. 分类性能度量指标:ROC曲线、AUC值、正确率、召回率、敏感度、特异度

    在分类任务中,人们总是喜欢基于错误率来衡量分类器任务的成功程度.错误率指的是在所有测试样例中错分的样例比例.实际上,这样的度量错误掩盖了样例如何被分错的事实.在机器学习中,有一个普遍适用的称为混淆矩阵 ...

  3. 机器学习之分类性能度量指标 : ROC曲线、AUC值、正确率、召回率

    北京 | 高性能计算之GPU CUDA课程11月24-26日3天密集学习 快速带你晋级阅读全文> 在分类任务中,人们总是喜欢基于错误率来衡量分类器任务的成功程度.错误率指的是在所有测试样例中错分 ...

  4. R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值、plot.roc函数绘制ROC曲线、添加置信区间、为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来

    R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值.plot.roc函数绘制ROC曲线.添加置信区间.为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来 目录

  5. 分类算法的评价指标-混淆矩阵,精准率召回率,pr曲线,roc曲线等

    文章目录 前言 一.混淆矩阵(confusion matrix)? 二.精准率和召回率 1.精准率 2.召回率 3.自己实现精准率和召回率以及混淆矩阵 4.sklearn中的精准率召回率以及混淆矩阵 ...

  6. 机器学习中精准率/召回率/PR曲线/AUC-ROC曲线等概念

    目录 TP/TN/FP/FN accuracy(准确率) precision(精确率/查准率) recall(召回率/查全率) F1分数与Fβ分数 PR曲线(precision recall curv ...

  7. 【机器学习入门】(13) 实战:心脏病预测,补充: ROC曲线、精确率--召回率曲线,附python完整代码和数据集

    各位同学好,经过前几章python机器学习的探索,想必大家对各种预测方法也有了一定的认识.今天我们来进行一次实战,心脏病病例预测,本文对一些基础方法就不进行详细解释,有疑问的同学可以看我前几篇机器学习 ...

  8. 图像分类 图像分割的评价指标(混淆矩阵 正确率 精准率 召回率 F1分数 IOU dice系数)

    在图像分类或者图像分割中,为评价模型的预测效果,在训练过程中通常需要比较预测值与真实标签值的差距,即误差. 目录 图像分类过程的评价指标 混淆矩阵 正确率/准确率 精准率 召回率 F1分数 图像分割过 ...

  9. 机器学习中绘制(多标签)PR曲线和F1-score【转载】

    参考:PR曲线和F1-score 评价指标相关 - 知乎 sklearn官方文档:Precision-Recall - scikit-learn 1.0.2 documentation 多标签设置中的 ...

最新文章

  1. python评委打分代码_STL案例—评委打分
  2. 曹大:我的快速阅读法
  3. 华为手机安装系统能换鸿蒙,华为鸿蒙将全面上线,安卓系统或将被彻底替换
  4. 理论基础 —— 查找
  5. 元学习Meta Learning/Learning to learn
  6. Eclipse使用(入门教程)
  7. 计算机仿真专业学什么,计算机科学与技术知识专业 计算机仿真技术知识课件.ppt...
  8. [分布式系列]Gossip协议
  9. 一个很有意思的赛马问题
  10. 短视频代运营服务内容
  11. c语言 程序设计 题库答案 p,《C语言程序设计》复习题库答案.doc
  12. 迈微科讯 | 最新科技发展资讯
  13. C++性能之战(1)--深入到汇编看++i、i++、i+=1、i=i+1的区别
  14. Linux安装Elasticsearch详细教程
  15. 以前写的网页游戏辅助工具源码 传奇类的HOOK 封包 按钮
  16. [附源码]计算机毕业设计Python+uniapp篮球竞技系统APPo206c(程序+lw+APP+远程部署)
  17. 关于Time dependence
  18. win10使用C语言运行坦克大战游戏(转载)
  19. 推石磨机器人_您见过机器人豆腐西施吗?七旬老人发明出来了,能推石磨添料揽客...
  20. 3GP/MP4 视频文件格式解析及其播放原理(转)

热门文章

  1. 如何从功能测试转化自动化测试?
  2. php 如何得到 file_get_contents 数据,如何使用file_get_contents在PHP中发布数据?
  3. 计算机电路门,7.3 门电路计算机操作系统原理.pdf
  4. python分类流程_文本分类指南:你真的要错过 Python 吗?
  5. android+tv+自动切换,Android TV 重写GridView,实现焦点放大效果
  6. mysql临时表是什么意思_来谈谈MySQL的临时表,到底是个什么东西,以及怎么样产生的...
  7. 输入两个数,计算它们的最大公约数和最小公倍数
  8. java怎么做简易的游戏,Java小项目之《简易桌面小游戏》
  9. 加密保护软件 WinLicense 注册常见问题(一):许可证
  10. 图片轮播点击轮播(二)