我在python中使用H2O来创建广义线性模型,二进制分类问题,我使用
glm_fit_lambda_search = H2OGeneralizedLinearEstimator( family='binomial',
model_id='glm_fit_lambda_search',
lambda_search=True )
glm_fit_lambda_search.train( x = x,
y = y,
training_frame = trainH2O,
validation_frame = testH2O )
现在我想绘制模型的ROC曲线,该怎么办?
我还要绘制多个ROC曲线进行比较
这是R How to directly plot ROC of h2o model object in R中的问题,我该如何在python中这样做?
答案 0 :(得分:2)
尝试一下:
performace = glm_fit_lambda_search.model_performance(train=True)
performace.plot()
应该在理论上可行,我现在无法验证。这将在“火车”集合上绘制性能。
答案 1 :(得分:0)
对此进行了尝试并成功
out = glm_fit_lambda_search.model_performance(testH2O)
fpr = out.fprs
tpr = out.tprs
import matplotlib.pyplot as plt
from sklearn.metrics import roc_curve, auc
plt.figure()
lw = 2
plt.plot(fpr, tpr, color='blue', lw=lw, label='ROC curve (area = %0.2f)' % roc_auc)
plt.plot([0, 1], [0, 1], color='red', lw=lw, linestyle='--')
plt.xlim([0.0, 1.05])
plt.ylim([0.0, 1.05])
plt.legend(loc="lower right")
plt.show()