roc曲线与sklearn [python]
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了roc曲线与sklearn [python],小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1485字,纯文字阅读大概需要3分钟。
内容图文
![roc曲线与sklearn [python]](/upload/InfoBanner/zyjiaocheng/746/c768958824c743c1bfeda71972da57e8.jpg)
通过使用roc库我有一个理解问题.
我想用python绘制一条roc曲线
http://scikit-learn.org/stable/modules/generated/sklearn.metrics.roc_auc_score.html
我正在编写一个评估探测器(haarcascade,神经网络)并想要评估它们的程序.
所以我已经将数据保存在文件中,格式如下:
0.5 TP
0.43 FP
0.72 FN
0.82 TN
...
TP表示真阳性,FP表示假阳性,FN表示假阴性,TN表示真阴性
我解析它并用这个数据集填充4个数组.
然后我想把它放进去
fpr, tpr = sklearn.metrics.roc_curve(y_true, y_score, average='macro', sample_weight=None)
但是怎么做呢?在我的情况下y_true和y_score是什么?
之后,我把它放到fpr,tpr中
auc = sklearn.metric.auc(fpr, tpr)
解决方法:
引用维基百科:
The ROC is created by plotting the FPR (false positive rate) vs the TPR (true positive rate) at various thresholds settings.
为了计算FPR和TPR,您必须将正二进制值和目标分数提供给函数sklearn.metrics.roc_curve.
所以在你的情况下,我会做这样的事情:
from sklearn.metrics import roc_curve
from sklearn.metrics import auc
# Compute fpr, tpr, thresholds and roc auc
fpr, tpr, thresholds = roc_curve(y_true, y_score)
roc_auc = auc(y_true, y_score)
# Plot ROC curve
plt.plot(fpr, tpr, label='ROC curve (area = %0.3f)' % roc_auc)
plt.plot([0, 1], [0, 1], 'k--') # random predictions curve
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.0])
plt.xlabel('False Positive Rate or (1 - Specifity)')
plt.ylabel('True Positive Rate or (Sensitivity)')
plt.title('Receiver Operating Characteristic')
plt.legend(loc="lower right")
如果您想更深入地了解如何计算所有可能的阈值的假阳性率和真阳性率,我建议您阅读this article
内容总结
以上是互联网集市为您收集整理的roc曲线与sklearn [python]全部内容,希望文章能够帮你解决roc曲线与sklearn [python]所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。