首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >H2O AutoML -如何提供权重

H2O AutoML -如何提供权重
EN

Stack Overflow用户
提问于 2021-08-21 14:59:37
回答 1查看 114关注 0票数 0

下面是我在ISLR包中设置Default日期的示例。数据不平衡,因此我对其进行了重新平衡,并仅使用GBM运行H2O AutoML。

代码语言:javascript
复制
library(ISLR)
library(h2o)
library(magrittr)
library(dplyr)
core_count <- detectCores()
h2o.init(nthreads = (core_count -1))

my_df <- Default
x <- setdiff(colnames(df_train), 'default')
y <- 'default'
    
    my_df %<>% mutate(weights = if_else(default =='No',
0.6/table(my_df$default)[[1]],0.4/table(my_df$default)[[2]]))

aml_test <- h2o.automl(x = x, y = y,
                  training_frame = as.h2o(my_df[1:8000, ]),
                  validation_frame = as.h2o(my_df[8001:10000, ]),
                  nfolds = 0, 
                  weights_column = "weights",
                  include_algos = c('GBM'),
                  seed = 12345,
                  max_runtime_secs = 1200)

它会生成以下错误:

代码语言:javascript
复制
        09:46:49.611: Skipping training of model GBM_1_AutoML_20210821_094649 due to exception:
     water.exceptions.H2OModelBuilderIllegalArgumentException: Illegal argument(s) for GBM model:
     GBM_1_AutoML_20210821_094649.  Details: ERRR on field: _min_rows: The dataset size is too 
    small to split for min_rows=1.0: must have at least 2.0 (weighted) rows, but have only 
    0.7172904568994339.
    
    09:46:49.622: Skipping training of model GBM_2_AutoML_20210821_094649 due to exception:
 water.exceptions.H2OModelBuilderIllegalArgumentException: Illegal argument(s) for GBM model: 
GBM_2_AutoML_20210821_094649.  Details: ERRR on field: _min_rows: The dataset size is too 
small to split for min_rows=10.0: must have at least 20.0 (weighted) rows, but have only 
0.7172904568994339.
    
    09:46:49.630: Skipping training of model GBM_3_AutoML_20210821_094649 due to exception: 
water.exceptions.H2OModelBuilderIllegalArgumentException: Illegal argument(s) for GBM model: 
GBM_3_AutoML_20210821_094649.  Details: ERRR on field: _min_rows: The dataset size is too 
small to split for min_rows=10.0: must have at least 20.0 (weighted) rows, but have only 
0.7172904568994339.

    
    09:46:49.637: Skipping training of model GBM_4_AutoML_20210821_094649 due to exception: 
water.exceptions.H2OModelBuilderIllegalArgumentException: Illegal argument(s) for GBM model: 
GBM_4_AutoML_20210821_094649.  Details: ERRR on field: _min_rows: The dataset size is too 
small to split for min_rows=10.0: must have at least 20.0 (weighted) rows, but have only 
0.7172904568994339.

    
    09:46:49.644: Skipping training of model GBM_5_AutoML_20210821_094649 due to exception: 
water.exceptions.H2OModelBuilderIllegalArgumentException: Illegal argument(s) for GBM model: 
GBM_5_AutoML_20210821_094649.  Details: ERRR on field: _min_rows: The dataset size is too 
small to split for min_rows=100.0: must have at least 200.0 (weighted) rows, but have only 
0.7172904568994339.

      |===================================================================================| 100%
    



       09:49:50.241: Empty leaderboard.

    AutoML was not able to build any model within a max runtime constraint of 1200 seconds,
 you may want to increase this value before retrying.The leaderboard contains zero models: 
try running AutoML for longer (the default is 1 hour).

本质上,只要提供了类的权重,它就不能与GBM一起工作。它在没有重量的情况下工作良好。它甚至没有运行整整20分钟。不会生成任何模型。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-03 22:22:44

输出中会显示一条错误消息

代码语言:javascript
复制
Details: ERRR on field: _min_rows: The dataset size is too 
small to split for min_rows=10.0: must have at least 20.0 (weighted) rows, but have only 
0.7xxxx.

看起来你需要增加你的权重值和/或增加行数。尝试将权重列乘以10或100倍,看看是否有帮助。我怀疑如果您尝试将权重列全部设置为1,这将不是一个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68874158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档