【问题标题】:How to provide parameter input for interaction variable in H2OGradientBoostingEstimator?如何为 H2OGradientBoostingEstimator 中的交互变量提供参数输入?
【发布时间】:2021-05-15 22:42:05
【问题描述】:

我需要在Python的H2O中使用H2OGradientBoostingEstimator中的多类分类的交互变量特征。我不确定要使用哪个参数以及如何使用它。谁能帮我解决这个问题?

目前,我正在使用以下代码 -

pros_gbm = H2OGradientBoostingEstimator(nfolds=0,seed=1234, keep_cross_validation_predictions = False, ntrees=10, max_depth=3, learn_rate=0.01, distribution='multinomial')
hist_gbm = pros_gbm.train(x=predictors, y=target, training_frame=hf_train, validation_frame = hf_test,verbose=True)

【问题讨论】:

    标签: h2o interaction multilabel-classification gbm


    【解决方案1】:

    GBM 天生就会创造互动。您可以使用.feature_interaction() 提取器方法(对于 H2O 模型)提取有关特征交互的信息。 user guide 和 Python docs 中提供了更多信息。

    如果您想显式添加一个新列作为两个数字之间的交互,您可以通过将两个(或更多)列相乘来手动创建一个新的交互列。

    对于分类交互,还有 Python 中的 h2o.interaction() 方法 here 在数据中创建交互列(在将其发送到 GBM 或任何算法之前)。

    【讨论】:

    • h2o.interactions() 是 H2O 中的分类交互特征创建,而我正在寻找连续特征的交互。
    • GBM 能够自行找到(非线性)交互,因此您通常不需要明确指定交互。这就是为什么 H2O GBM 没有这样的参数(与 H2O GLM 有这个参数相反)。如果您确实觉得您的模型会从交互中受益 - 您可以通过修改训练框架来显式创建它们,例如。 hf_train["int_1"] = hf_train["feature_1"] * hf_train["feature_2"]
    • 在 python 中通过“.feature_interaction()”获取交互信息时出现此错误 - AttributeError: type object 'ModelBase' has no attribute 'feature_interaction' 如果我遗漏了什么,请告诉我。跨度>
    • 您使用的是哪个版本的 H2O?在 H2O 3.32.0.2 (github.com/h2oai/h2o-3/blob/master/…) 中为 GBM 和 XGBoost 添加了功能交互
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    相关资源
    最近更新 更多