在Python中绘制H2O的ROC曲线(一条和多条曲线)

时间:2018-11-08 16:35:04

标签: python python-3.x h2o glm roc

我在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中这样做?

2 个答案:

答案 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()