【问题标题】:H2OTypeError: Argument `x` should be a None | integer | string | ModelBase | list(string | integer) | set(integer | string), got H2OFrameH2OTypeError: 参数 `x` 应该是 None |整数 |字符串 |模型库 |列表(字符串 | 整数) |设置(整数 | 字符串),得到 H2OFrame
【发布时间】:2022-10-17 21:39:11
【问题描述】:

我使用 Titanic 数据集并进行了一些基本的预处理(例如标准化、ohe 等)。

然后,我尝试使用 H2O 算法并得到以下错误:

from h2o.estimators.gbm import H2OGradientBoostingEstimator
classifier  =  H2OGradientBoostingEstimator(nfolds =    5,
                                            ntrees =   15,
                                            seed   =    42,
                                            max_depth = 4)

classifier.train(predictors, target, training_frame = train_data)

H2OTypeError: 参数 x 应该是 None |整数 |字符串 | 模型库 |列表(字符串 | 整数) |设置(整数|字符串),得到 H2O框架

我的目标是train_data["Survived"].asfactor()

我试图从文件中读取数据帧,而不是将预处理的 df 转换为 H2OFrame 但没有成功。

任何想法,将不胜感激。

【问题讨论】:

    标签: python data-science h2o


    【解决方案1】:

    在我看来,您传递的是框架而不是列名列表。 xy 都应该是指向 training_frame 中列的“指针”。

    如果您想使用所有列作为预测变量(除目标之外的所有列),您可以只指定 y 参数。

    像下面这样的东西应该可以解决问题:

    train_data["Survived"] = train_data["Survived"].asfactor()
    classifier  =  H2OGradientBoostingEstimator(nfolds =    5,
                                                ntrees =   15,
                                                seed   =    42,
                                                max_depth = 4)
    
    classifier.train(x=["pclass", "sex", "age",  ...], y="Survived", training_frame = train_data)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-19
      • 1970-01-01
      • 1970-01-01
      • 2016-08-27
      • 1970-01-01
      • 1970-01-01
      • 2017-10-29
      • 1970-01-01
      相关资源
      最近更新 更多