Machine learning 表示H2O输入CSV中的项目列表

Machine learning 表示H2O输入CSV中的项目列表,machine-learning,h2o,sparkling-water,Machine Learning,H2o,Sparkling Water,如何在H2O的输入数据(数据框)中表示一组/列表项 我用的是1.6.5的气泡水,水是流动的。 我的输入数据(CSV文件中的列)如下所示: age: numeric gender: enum hobbies: ? sports: ? 兴趣爱好和运动是一个列表/集合,可能的条目数量有限(每个约20条)。H2O似乎没有适用于此的数据类型。如何将这些内容导出到可由H2O Flow处理的CSV文件中?如果您只是记录他们的主要爱好或主要运动,那么它将是一个单一的枚举列,例如,有20个级别的爱好。您只需在c

如何在H2O的输入数据(数据框)中表示一组/列表项

我用的是1.6.5的气泡水,水是流动的。 我的输入数据(CSV文件中的列)如下所示:

age: numeric
gender: enum
hobbies: ?
sports: ?

兴趣爱好和运动是一个列表/集合,可能的条目数量有限(每个约20条)。H2O似乎没有适用于此的数据类型。如何将这些内容导出到可由H2O Flow处理的CSV文件中?

如果您只是记录他们的主要爱好或主要运动,那么它将是一个单一的枚举列,例如,有20个级别的爱好。您只需在csv文件中将其作为字符串字段写入,H2O就会读取它

但我认为你所追求的是每个人从20种爱好中有0+个选择?在这种情况下,你需要在你的csv文件中有20列,每个爱好一列;每个都将是一个2值枚举。这两个值是什么并不重要:Y/N、t/F、Y/blank、hobby name/blank等。您的csv文件可能如下所示:

name,gender,football?,running?,data mining?,sleeping?
Tom,M,Y,,,Y
Dick,M,,,Y,
Suzy,F,,Y,Y,
汤姆喜欢足球和睡觉,迪克只为数据挖掘而活,苏西则热衷于跑步和数据挖掘


顺便说一句,如果使用
deeplearning
,那么它将以相同的网络配置结束:一个20级enum输入将转换为20个二进制输入节点。

不知道h2o,但机器学习有一个称为
one hot encoding
的概念。你可以简单地把你的爱好和运动列表中的每一个可能的条目都变成一个“csv列”,它本身就是二进制的,就像你的性别属性一样。听起来是一个有效的选项,谢谢。但是,我希望有一种比手动操作更容易/更易于维护的方法。Thx。如何将其写入我的CSV?我试着用逗号(例如“唱歌、画画”)来区分这些爱好,但没有用。如果有更好的格式,我不必使用CSV文件。对不起,@MarkusKramer,我没有抓住你问题的重点。刚刚更新了我的答案。谢谢你的解释。因此,Thomas提出的“一个热编码”方法也是H2O的答案