这是我的代码(h2o的简单分类问题)
library(h2o)
h2o.init()
df_h2o <- as.h2o(Titanic)
y <- "Survived"
x <- setdiff(names(df_h2o), y)
model_test <- h2o.gbm(training_frame = df_h2o, x = x, y = y)
pred_model_test <- h2o.predict(object = model_test, newdata = df_h2o)
as.data.frame(pred_model_test)
这是最后一行的部分输出:
predict No Yes
1 No 0.6665519 0.3334481
2 No 0.7618396 0.2381604
3 Yes 0.3836010 0.6163990
4 No 0.6665519 0.3334481
5 No 0.6665519 0.3334481
6 No 0.7618396 0.2381604
7 Yes 0.3836010 0.6163990
8 No 0.6665519 0.3334481
9 Yes 0.4391064 0.5608936
10 Yes 0.5561055 0.4438945
11 Yes 0.5684065 0.4315935
在第11行中,预测列具有Yes
,而Yes
的概率仅为0.4315935。那么预测列中的值是什么?
答案 0 :(得分:1)
请参阅文档here
预测阈值
对于分类问题,在运行h2o.predict()或.predict()时,预测阈值的选择如下:
如果仅使用训练数据训练模型,则使用训练数据模型指标中的最大F1阈值。 如果使用训练和验证数据训练模型,则使用验证数据模型指标中的最大F1阈值。 如果使用训练数据训练模型并设置nfold参数,则使用训练数据模型度量标准中的最大F1阈值。 如果您使用训练数据和验证数据训练模型,并且还设置了nfold参数,则会使用验证数据模型指标中的最大F1阈值。