H2O流量:H2O流量UI如何以不同方式处理数据类型

时间:2017-07-11 04:51:26

标签: machine-learning h2o

具体而言,与H2O和“enum”类型相比,string处理int'snumerical数据类型的方式有何不同?< / p>

例如,假设我有一个二进制分类器,它接受具有功能的输入样本

x1=(1 of 10 possible favorite ice cream flavors (enum))

x2=(some random phrase (string))

x3=(some number (int))

分类器在培训期间如何处理这些类型会有什么不同?

将数据上传到h2oUI时,我可以选择将某些数据类型(例如enum)转换为“数字”。这让我觉得当我将“enum”作为“enum”(不转换为“numerical”时,不仅仅是字符串到数字的映射正在进行类型),但我无法找到有关差异的信息。

感谢您的澄清,谢谢。

1 个答案:

答案 0 :(得分:1)

&#34; enum&#34; type是您希望用于分类功能的编码类型。如果分类要素编码为&#34; enum&#34;,则基于树的算法(如随机森林和GBM)将能够以智能方式处理这些功能。 RF和GBM的大多数其他实现迫使您对分类特征(到K虚拟列)进行单热扩展,但在H2O中,基于树的方法可以使用这些功能而无需任何扩展。可以使用categorical_encoding参数来控制处理变量的确切方法。

如果您有一个有序的分类变量,那么可以将其编码为&#34; int&#34;但是,这样做对模型性能的影响将取决于数据。

如果您要转换&#34; enum&#34;列到&#34;数字&#34;这会简单地将每个类别编码为一个整数,并且你会失去这些数字代表类别的概念(因此不建议这样做)。

你不应该使用&#34;字符串&#34;键入H2O,除非您要从预测变量集中排除该列。使用&#34;字符串&#34;是有意义的。文本列,但您可能希望解析(例如,标记化)该文本以生成将包含在预测变量集中的新数字或枚举功能。