要画出ROC曲线,首先需要计算真正例率(True Positive Rate,TPR)和假正例率(False Positive Rate,FPR)。然后,根据不同的阈值,计算出不同的TPR和FPR值,并将其绘制在ROC曲线上。

下面是一个示例代码,用于画出ROC曲线:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import roc_curve, auc

def plot_roc_curve(labels, outputs):
    fpr, tpr, thresholds = roc_curve(labels, outputs)
    roc_auc = auc(fpr, tpr)

    plt.figure()
    plt.plot(fpr, tpr, color='darkorange', lw=2, label='ROC curve (area = %0.2f)' % roc_auc)
    plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')
    plt.xlim([0.0, 1.0])
    plt.ylim([0.0, 1.05])
    plt.xlabel('False Positive Rate')
    plt.ylabel('True Positive Rate')
    plt.title('Receiver Operating Characteristic')
    plt.legend(loc="lower right")
    plt.show()

# 示例数据
labels = [0, 0, 1, 1, 1]
outputs = [0.1, 0.4, 0.35, 0.8, 0.6]

# 调用函数绘制ROC曲线
plot_roc_curve(labels, outputs)

在这个示例中,我们使用了roc_curveauc函数从scikit-learn库来计算TPR、FPR和AUC。然后,我们使用matplotlib库将ROC曲线绘制出来。注意,这个示例只是用于演示目的,实际情况中的标签和输出可能是连续值而不是二进制值,需要根据具体情况进行相应的修改


原文地址: http://www.cveoy.top/t/topic/iUxs 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录