python - 在 Python 中创建阈值编码的 ROC 图

标签 python r matplotlib scikit-learn roc

R 的 ROCR package提供用于绘制 ROC 曲线的选项,这些选项将沿曲线进行颜色编码和标记阈值:

我能用 Python 得到的最接近的东西是这样的

from sklearn.metrics import roc_curve
fpr, tpr, thresholds = roc_curve(qualityTrain.PoorCare, qualityTrain.Pred1)
plt.plot(fpr, tpr, label='ROC curve', color='b')
plt.axes().set_aspect('equal')
plt.xlim([-0.05, 1.05])
plt.ylim([-0.05, 1.05])

给出

是否有包提供的功能等同于 R 的标记(使用 print.cutoffs.at)和颜色代码(使用 colorize)阈值的能力?大概此信息在 thresholds 中,由 sklearn.metrics.roc_curve 返回,但我不知道如何使用它来对图形进行颜色编码和标记。

最佳答案

看看这个要点:

https://gist.github.com/podshumok/c1d1c9394335d86255b8

roc_data = sklearn.metrics.roc_curve(...)
plot_roc(*roc_data, label_every=5)

关于python - 在 Python 中创建阈值编码的 ROC 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22518230/

相关文章:

r - 如何在 ggplot2 中每小时绘制 Posix 数据?

matplotlib - Matlab 在 Julia 中的 "hold on"

python - 相互绘制数据框列

python - Anaconda 中的 cdQA 安装问题

python - asyncio 客户端服务器在 docker 中不起作用

r - 如何从文件路径字符串中提取日期,其中还包括格式为 2020.04.12.10.30.10 的时间?

python - 如何使 matplotlib 极坐标图中的角度顺时针旋转,顶部为 0°?

python - 为什么捕获 Exception 而不是更具体的 URLError 是不行的?

python - 不平衡-学习: Import Error: cannot import name 'MultiOutputMixin'

r - 错误 : package or namespace load failed for ‘sf’