DRF检查点与交叉验证失败,并出现错误 "ERRR: _weights_column.Weights column '__internal_cv_weights__'未找到"。在训练框架中没有找到权重列'__internal_cv_weights__'"

问题描述 投票:0回答:1

在28.0.2和最新的30.0.1版本上试过。

创建第一个DRF。

rf1 <- h2o.randomForest(
  model_id="first_drf1_x1",
  x = f2,
  y = r1,
  training_frame = train1,
  validation_frame = valid1,
  ntrees = 49,
  nfolds = 5,
 seed = 1
)

训练它,然后他们试图从这个模型继续训练,就像这样。

rf2 <- h2o.randomForest(
  model_id="second_drf1_x2",
  x = f2,
  y = r1,
  training_frame = train2,
  validation_frame = valid2,
  ntrees = (49+50),
  nfolds = 5,
  checkpoint = "first_drf1_x1",
  seed = 1

)

在日志中可以立即看到:

POST /3/ModelBuilders/drf, parms: {model_id=second_drf1_x2, validation_frame=RTMP_sid_aea1_16, response_column=pcs7_e_dt_4010u, training_frame=RTMP_sid_aea1_14, seed=1, nfolds=5, ntrees=99, ignored_columns=["ts","leve_batch_nbr"], checkpoint=first_drf1_x1}
04-30 10:20:34.601 127.0.0.1:54321       55804  FJ-1-5    INFO: Creating 5 cross-validation splits with random number seed: 1
04-30 10:20:34.612 127.0.0.1:54321       55804  FJ-1-5    ERRR: _weights_column: Weights column '__internal_cv_weights__' not found in the training frame

当第一个模型被创建时,有5个CV模型被创建,它们的内部字段集是这样的:

“_weights_column":"internal_cv_weights",

但是当主模型被训练后..:

Building main model.
...
“_weights_column":null,

我已经在h2o jira中开了一个bug,但也许有人已经看到了这个问题,并且有一个解决方法。

h2o
1个回答
0
投票

你需要有 nfolds 残疾。作为 文件 说 "目前不支持交叉验证的检查点"。

如果你使用的是新的数据,从旧的模型开始进行DRF可能意义不大。旧的原始树(1-49)不会从新数据的额外观测中获益。检查点之后的新树(50-99)将拥有额外的观测值。所以,你的树有一半会缺少一些预测信息,这会给你的评分带来一些偏差。

© www.soinside.com 2019 - 2024. All rights reserved.