我在R中使用h2o.predict函数时遇到问题

时间:2019-09-10 20:07:20

标签: r data-science h2o

我尝试使用R h2o.predict函数将预测作为由p0 p1 predict列组成的数据帧,尽管即使在此代码中,我也尝试并提到了数据帧,但是现在我得到了由预测组成的一列。在下面,我将分享我的代码和结果。

我尝试对测试框架(train_df和test_df)进行一些更改,但是它不起作用。有人可以帮助我获得下面提到的预期结果吗?

h2o.init()

h2o_data = as.h2o(train_df)
train = h2o_data


Survived = 'Survived'

aml = h2o.automl(y=Survived,
                training_frame = train,
                max_runtime_secs = 12)

str(test_df)
test = as.h2o(test_df)
predictions = as.data.frame(h2o.predict(object = aml, newdata = test))
predictions

我除了类似的东西

p0          p1              predict
0.124124    0.8752341         0
0.124124    0.8752341         0
0.124124    0.8752341         0
0.124124    0.8752341         0
.
.
.

但是得到


        predict
1   0.052932147
2   0.302577856
3   0.131041562
4   0.210355447
5   0.534559986
6   0.123824789
7   0.557775192

。 。

1 个答案:

答案 0 :(得分:1)

  我得到一列包含预测的列。

如果您的预测看起来像这样,则意味着您已经训练了回归模型而不是分类模型。我的猜测是您的"Survived"列是二进制的,编码为0/1。由于它是数字,H2O认为您正在尝试进行回归。如果要进行分类,则需要将其转换为因子列,如下所示:

h2o_data = as.h2o(train_df)
train = h2o_data
Survived = 'Survived'
train[,Survived] = as.factor(train[,Survived])