如何使用scikit-learn或其他Python库为如下所示的CSV文件绘制RoC曲线:
1, 0.2020, 0.2030, 0.2661, 0.2640, 0.2610, 0.291.......
回答:
import pandas as pd
import numpy as np
import pylab as pl
from sklearn.metrics import roc_curve, auc
df = pd.read_csv('filename.csv')
y_test = np.array(df)[:,0]
probas = np.array(df)[:,1]
# 计算ROC曲线和曲线下面积
fpr, tpr, thresholds = roc_curve(y_test, probas)
roc_auc = auc(fpr, tpr)
print("ROC曲线下面积 : %f" % roc_auc)
# 绘制ROC曲线
pl.clf()
pl.plot(fpr, tpr, label='ROC曲线 (面积 = %0.2f)' % roc_auc)
pl.plot([0, 1], [0, 1], 'k--')
pl.xlim([0.0, 1.0])
pl.ylim([0.0, 1.0])
pl.xlabel('假阳性率')
pl.ylabel('真阳性率')
pl.title('接收者操作特征曲线')
pl.legend(loc="lower right")
pl.show()