【问题标题】:predict method in h2o - what does predict column mean in case of classificication在 h2o 中预测方法 - 在分类的情况下预测列的含义是什么
【发布时间】:2020-02-26 02:14:07
【问题描述】:

这是我的代码(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。那么 predict 列中的值是多少?

【问题讨论】:

  • 好吧,我相信是/否是一些默认阈值的自动分类方案。

标签: r classification h2o predict


【解决方案1】:

参见文档here

预测阈值

对于分类问题,在运行 h2o.predict() 或 .predict() 时,预测阈值选择如下:

如果您仅使用训练数据训练模型,则使用训练数据模型指标中的 Max F1 阈值。 如果您使用训练和验证数据训练模型,则使用验证数据模型指标中的 Max F1 阈值。 如果您使用训练数据训练模型并设置 nfold 参数,则使用训练数据模型指标中的 Max F1 阈值。 如果您使用训练数据和验证数据训练模型并设置 nfold 参数,则使用验证数据模型指标中的 Max F1 阈值。

【讨论】:

  • 感谢您的回复。次要问题。同时拥有验证集和 nfold 参数是否多余?
  • 好问题@user1700890,从我读过的科学论文来看,k fold 是交叉验证的权利,所以你不需要另一个专门验证的数据分区。然而,这一点值得商榷。我读过的科学论文表明,与仅使用验证数据分区相比,交叉验证产生的估计值具有更低的误差偏差。就个人而言,我只使用 kfold 交叉验证,而不是验证数据集。
  • 如果你有时间,一些很棒的阅读材料。(1) Koul A、Becchio C、Cavallo A. 心理学中可复制性的交叉验证方法。前心理学。 2018 年;9。 doi:10.3389/fpsyg.2018.01117 (2) Jung Y, Hu J. AK-fold 平均交叉验证程序。非参数统计杂志。 2015;27(2):167-179。 doi:10.1080/10485252.2015.1010532 (3) Kohavi R. A Study of CrossValidation and Bootstrap for Accuracy Estimation and Model Selection。国际人工智能联合会议(IJCAI)。 1995.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-05
  • 1970-01-01
  • 2018-09-03
  • 2018-08-30
  • 2023-01-31
  • 1970-01-01
相关资源
最近更新 更多