python-3.x - 如何在 H2O python 中应用序数回归?
问题描述
我有一个由 5 个类组成的目标,其中存在序数关系。我想为这个多类分类问题实现序数回归。这是我尝试过的:
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)
但是我得到了错误:
参数
family
应该是 ?Enum["multinomial", "quasibinomial", "poisson", "gamma", "gaussian", "tweedie", "binomial"],得到字符串序数
我还使用 将目标类型更改为数字asnumeric()
,但是我又遇到了同样的错误。
如何为我的多类分类应用序数回归?
编辑:如果我从文档链接中正确理解,如果我使用超过 2 个分类值的多项式族,那么它会考虑类别的顺序吗?
解决方案
您使用的是哪个版本的 H2O?“序数”选项family
看起来像是在 3.18.0.3 中添加的。
希望http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/glm.html#logistic-ordinal-regression-ordinal-family回答您的其他问题?它解释了“序数”和“多项式”之间的数学差异。
(但我认为您编辑中问题的简短回答是“是”,因为它说:“[它适用于] 谨慎的变量,如分类,但可以排序,如回归。”)
推荐阅读
- docker - 如何通过 docker-compose 网络将前端连接到后端
- javascript - 优化 FS writeFile 以避免大文件大小的内存堆溢出
- javascript - 快速路由在本地服务时有效,但在部署后失败
- git - 如何撤消我在 github 上所做的还原,而不会丢失我在受保护分支上的所有提交?
- c# - 可以用 DateFormat 添加单词“分钟”或“秒”吗?
- regex - regex capture group help netsuite/oracle
- json - Swift:无法使用类型为“([Idea],来自:Data)”的参数列表调用“解码”
- javascript - 我正在尝试将 TypeScript 的示例翻译成 JavaScript,但我不知道如何转换它
- python - 如何在 python 对象中覆盖 __type__ 方法?
- python - 为什么我从上一个问题中提取的代码多处理池映射挂起?