我喜欢ml的h2o.ai工具,它是java的,但它很熟悉,而且做得很好。
以下是关于分层分裂的一般信息:
我有一个非常不平衡的变量,所以我需要在h2o.ai中基于R对该变量的数据进行分层分割。有办法吗?
在h2o.ai工具中分割数据的R命令如下:
splits = h2o.splitFrame(mydata, ratios=myratio, destination_frames=...)
在splitframe变量中没有分层选项。我知道在流(web接口到运行java)工具,他们允许平衡类在交叉验证的方法,所以在那里的某处是分层分裂。
我不喜欢在基R中这样做,因为R中的内存处理不如h2o.ai有效,而且我的数据大小也很大。
发布于 2022-01-25 19:38:49
据我所知,您的问题是使用分层抽样,因为您的数据严重不平衡。
在创建模型时,可以设置特定的args来实现这一点,例如
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。
https://stackoverflow.com/questions/64170916
复制相似问题