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

时间:2018-06-20 10:32:01

标签: h2o

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

如果我使用熊猫来完成这项任务,

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强迫我使用数字列?

评估单元格时出错

我的数据集如下:

enter image description here

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

  

在使用opts {“ model_id”:“ glm-e2ed0066-636c-4c71-bf8 ...”调用POST / 3 / ModelBuilders / glm时出错。

     
    

错误消息:GLM模型的参数非法:glm-e2ed0066-636c-4c71-bf8c-04525eb05002。详细信息:字段上的ERRR:_response:回归需要数字响应,已分类。有关更多信息,请访问:http://jira.h2o.ai/browse/TN-2

  

2 个答案:

答案 0 :(得分:3)

如果您使用的是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

答案 1 :(得分:2)

要对分类数据运行GLM,请将族设置为“多项式”(如果只有两个类,则将其设置为“二项式”)。

enter image description here