如何在 H20 中将枚举数据类型转换为数字

How to convert enum datatype into Numric in H20

我已将我的数据集导入到 h2o 流中,我有一列是分类类型,我想将其转换为数字数据类型。

如果我使用 pandas 来完成这项任务,我会这样做,

df['category_column'] = df['category_column'].astype('category')
df['category_column'] = df['category_column'].apply(lambda x: x.cat.codes)

如何在水流中做到这一点,

我尝试关注,

  1. 在解析数据时,我将数据类型从枚举更改为数字,但数据显示 · 是这样的。
  2. 我尝试了 convert to numeric 选项,但它没有像我希望的那样工作。

我不知道我的方向是否正确。 请帮我解决这个问题。

根据建议更新问题:

为什么 GLM 强制我使用数字列?

计算单元格时出错

我的数据集如下所示:

当我使用 GLM 构建模型时,I 是我的 response_column 我收到以下错误

Error calling POST /3/ModelBuilders/glm with opts {"model_id":"glm-e2ed0066-636c-4c71-bf8...

ERROR MESSAGE: Illegal argument(s) for GLM model: glm-e2ed0066-636c-4c71-bf8c-04525eb05002. Details: ERRR on field: _response: Regression requires numeric response, got categorical. For more information visit: http://jira.h2o.ai/browse/TN-2

如果您使用的是 H2O 的 python api 您可以使用 .asfactor() 将数字列转换为枚举,例如 df['my_colummn'] = df['my_colummn'].asfactor()

在导入数据集后的流程中,您将在每个列名称旁边看到一个数据类型下拉菜单,您可以通过从下拉菜单中选择 enum 将数据类型转换为枚举。您也可以在查看数据时解析完数据集后执行此操作;每行中都有一个超链接,您可以单击该链接将数据类型从数字转换为枚举。

请参阅文档了解更多详情:http://docs.h2o.ai/h2o/latest-stable/h2o-docs/flow.html#parsing-data

要运行分类数据的GLM,将族设置为"multinomial"(或"binomial",当只有两个类时)。