0

我喜欢 ml 的 h2o.ai 工具。它是java,但它很熟悉并且做得不错。

以下是有关一般分层拆分的信息:

我有一个非常不平衡的变量,所以我需要在 h2o.ai 中基于 R-gui 对该变量的数据进行分层拆分。有没有办法做到这一点?

在 h2o.ai 工具中用于拆分数据的 R 命令是这样的:

splits = h2o.splitFrame(mydata, ratios=myratio, destination_frames=...)

splitframe 变量中没有分层选项。我在 Flow(运行 java 的 Web 界面)工具中知道它们允许在交叉验证方法中平衡类,因此它在某处进行分层拆分。

我讨厌在基础 R 中执行此操作,因为 R 中的内存处理不如 h2o.ai 有效,而且我的数据量很大。

4

1 回答 1

1

据我了解,您的问题是使用分层抽样,因为您的数据严重不平衡

创建模型时,您可以设置某些参数来实现这一点,例如

h2o.gbm(....., nfolds=n, fold_asssignment="Stratified", fold_column="Your Column")

否则你可以尝试设置

h2o.gbm(..., balance_classes=True, ...)

希望这会对您有所帮助,有关更多详细信息,请参阅https://docs.h2o.ai/h2o/latest-stable/h2o-r/h2o_package.pdf

于 2022-01-25T19:38:49.067 回答