【发布时间】:2018-07-19 18:49:31
【问题描述】:
我尝试使用 H2O 创建一些机器学习模型来解决二元分类问题,测试结果还不错。但后来我检查并发现了一些奇怪的东西。出于好奇,我尝试为测试集打印模型的预测。而且我发现我的模型实际上一直预测为 0(负),但 AUC 在 0.65 左右,精度不是 0.0。然后我尝试使用 Scikit-learn 来比较指标分数,并且(正如预期的那样)它们是不同的。 Scikit 学习产生了 0.0 的精度和 0.5 的 AUC 分数,我认为这是正确的。这是我使用的代码:
model = h2o.load_model(model_path)
predictions = model.predict(Test_data).as_data_frame()
# H2O version to print the AUC score
auc = model.model_performance(Test_data).auc()
# Python version to print the AUC score
auc_sklearn = sklearn.metrics.roc_auc_score(y_true, predictions['predict'].tolist())
有什么想法吗?提前致谢!
【问题讨论】:
-
只是推测而不是给出完整的答案,Scikit Learn 可能会针对有偏见的班级规模进行规范化。
标签: python machine-learning scikit-learn classification h2o