R H2O.StackedAssemble中的错误:“0”;Don';“我不知道如何确定多项式分类器的分布”;

R H2O.StackedAssemble中的错误:“0”;Don';“我不知道如何确定多项式分类器的分布”;,r,h2o,multinomial,R,H2o,Multinomial,我试图在R中使用H2O构建一个堆叠的集合。它有五个基础学习者-随机森林、XGBoost、GLM、GBM和朴素贝叶斯。这是一个具有三个层次的分类问题。基本学习者成功运行并返回测试数据集上的准确度值 在h2o.StackedAssemble中使用基础学习器时,返回以下错误: 错误:water.exceptions.H2OIllegalArgumentException:water.exceptions.H2OIllegalArgumentException:不知道如何确定多项式分类器的分布 下面是堆

我试图在R中使用H2O构建一个堆叠的集合。它有五个基础学习者-随机森林、XGBoost、GLM、GBM和朴素贝叶斯。这是一个具有三个层次的分类问题。基本学习者成功运行并返回测试数据集上的准确度值

在h2o.StackedAssemble中使用基础学习器时,返回以下错误:

错误:water.exceptions.H2OIllegalArgumentException:water.exceptions.H2OIllegalArgumentException:不知道如何确定多项式分类器的分布

下面是堆叠集成部分的代码片段:

ensemble <- h2o.stackedEnsemble(x = setdiff(colnames(trainPCA), 
                                    c(depVarsMulti,"weightage")), #Names of indep vars
                                y = depVarsMulti, #dep var
                                training_frame = trainPCA,
                                model_id = "123",
                                base_models = c(ModelOneRF@model_id, 
 ModelTwoXGBoost@model_id,ModelThreeGLM@model_id,ModelFourGBM@model_id,ModelFiveBayes@model_id),
                                metalearner_algorithm = "drf",
                                metalearner_nfolds = nfolds)
emble这似乎是一个bug(我提交了bug报告)。似乎多项式情况对XGBoost或NaiveBayes都不起作用(我们缺少这两种情况的测试覆盖率)。如果您运行下面删除这两个模型的代码,它就会工作。我们会尽快解决这个问题。谢谢

ensemble <- h2o.stackedEnsemble(x = setdiff(colnames(trainPCA),c(depVars,"weightage")),
                                y = depVars,
                                training_frame = trainPCA,
                                base_models = c(ModelThreeGLM@model_id, ModelFourGBM@model_id, ModelOneRF@model_id),
                                metalearner_algorithm = "drf",
                                metalearner_nfolds = nfolds)

employee如果您将5个模型中的每一个都忽略,一次一个,希望您能够缩小5个模型中哪一个触发它的范围?谢谢您的建议。我已经试过了,但仍然面临着同样的错误。任何基本模型似乎都没有问题。此外,我已经在测试数据上测试了基本模型,它们必须是“drf”的
metalearner\u算法。顺便说一下,
metalearner\u nfolds
在文档中没有提到。但是您可能想尝试使用
metalearner_参数
:metalearner_参数很有趣,我计划很快尝试。关于“drf”,我还认为错误是否与使用随机林有关,因此我测试了“gbm”和“auto”,但错误仍然存在。这里提到的Metalearner\u nfolds是否可能缩短可复制代码,从而使其不依赖于太多的软件包,只需要代表问题核心的几行代码?
ensemble <- h2o.stackedEnsemble(x = setdiff(colnames(trainPCA),c(depVars,"weightage")),
                                y = depVars,
                                training_frame = trainPCA,
                                base_models = c(ModelThreeGLM@model_id, ModelFourGBM@model_id, ModelOneRF@model_id),
                                metalearner_algorithm = "drf",
                                metalearner_nfolds = nfolds)