【问题标题】:Is there a way to get the training scoring history based on in-bag samples (instead of out-of-bag samples) in h2o.randomForest()?有没有办法根据 h2o.randomForest() 中的袋内样本(而不是袋外样本)获取训练评分历史?
【发布时间】:2021-03-08 15:16:00
【问题描述】:

我想知道我的随机森林在 h2o R 版本中的袋内训练指标:

rf_cv = h2o.randomForest(x = x, y = y,
                         training_frame = cali,
                         ntrees = 800,
                         nfolds = 5,
                         mtries = 3,
                         seed = 98)

当我打印得分历史时,我会得到以下训练指标:

> rf_cv@model$scoring_history
number_of_trees training_rmse training_mae training_deviance
1               0.70767       0.45476      0.50080
...
800             0.47283       0.30862      0.22357

但这些指标来自现成样本,如性能摘要所示:

> h2o.performance(rf_cv)
H2ORegressionMetrics: drf
** Reported on training data. **
** Metrics reported on Out-Of-Bag training samples **

MSE:  0.2235729
RMSE:  0.4728349
MAE:  0.3086151
RMSLE:  0.1403068
Mean Residual Deviance :  0.2235729

我知道我可以使用h2o.performance(rf_cv, data = train) 获得整体袋内训练表现,但我需要得分历史记录。我浏览了文档并寻找了类似的问题,但到目前为止我一无所获。任何帮助将不胜感激。

【问题讨论】:

    标签: r random-forest h2o


    【解决方案1】:

    我不是专家,但我花了一些时间并对其进行了一些研究,据我所知,没有办法检索袋内分数。为随机森林计算它真的没有意义。我也没有发现任何与袋外或袋内样品相关的东西,所以我认为它们也没有被储存。但是,如果您设法在某个地方找到它们,您可能可以使用h2o.getModelTree() 来产生某种分数。

    您也可以去查看source code,看看是否有更深入的见解。

    我还发现了这个Question,它可能会对你有所帮助。但是,它不使用h2o,而是使用randomForest R 库,如果您愿意的话。在那里您可以检索 OOB 样本,因此您知道袋内样本是什么,然后您可以自己对它们进行评分,但我自己没有这样做。

    【讨论】:

    • 感谢您的详尽回答。我会调查你提供的选项。赞成,但由于我是堆栈新手,因此未显示:(
    猜你喜欢
    • 2013-04-19
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-21
    • 2020-01-12
    • 2019-12-20
    相关资源
    最近更新 更多