如何在 H2O python 中应用序数回归?

How to apply ordianal regression in H2O python?

我有一个由 5 个 class 组成的目标,其中存在序数关系。我想为这个 multi-class classification 问题实现序数回归。这是我尝试过的:

train['target'] = train['target'].asfactor()
valid['target'] = valid['target'].asfactor()
test['target'] = test['target'].asfactor()

from h2o.estimators.glm import H2OGeneralizedLinearEstimator

hyper_params_glm = {'alpha': [0.001, 0.003, 0.005, 0.1, 0.3, 0.5, 0.7,0.75,0.8,0.85,0.9,0.95],
                   'missing_values_handling': ["skip", "mean_imputation"]}

ip_grid_glm = H2OGridSearch(model=H2OGeneralizedLinearEstimator(                 
                    standardize = True,
                    family='ordinal', keep_cross_validation_predictions=True, 
                    fold_assignment = "Modulo",lambda_search = True,
                    intercept = True,seed=2345, early_stopping = True, nfolds = 5)
                    ,hyper_params=hyper_params_glm)

ip_grid_glm.train(x=finalFeatures, y='AnsQ1', training_frame=train)

但是我得到了错误:

Argument family should be a ?Enum["multinomial", "quasibinomial", "poisson", "gamma", "gaussian", "tweedie", "binomial"], got string ordinal

我也使用 asnumeric() 将目标类型更改为数字,但是我又遇到了同样的错误。

如何为我的多class class化应用序数回归?

编辑: 如果我从文档 link 中理解正确,如果我使用具有 2 个以上分类值的多项式族,那么它将考虑顺序的类别?

您使用的是什么版本的 H2O? family looks like 的 "ordinal" 选项是在 3.18.0.3 中添加的。

希望 http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/glm.html#logistic-ordinal-regression-ordinal-family 回答您的其他问题?它解释了 "ordinal" 和 "multinomial" 之间的数学差异。

(但我认为您编辑中的问题的简短答案是 "yes",正如它所说:“[它用于] 谨慎的变量,如在分类中,但可以排序,就像在回归中一样。”)