是的,H2O是为数不多的机器学习库之一,不需要用户对分类变量进行预处理或独热编码(又称“哑编码”)。只要数据框中的列类型是“因子”(又称“枚举”),那么H2O就知道该如何自动处理。特别地,在基于树的方法(如随机森林或GBM)中,H2O允许直接使用分类变量。树型算法有能力原生地使用分类数据,并且通常比独热编码表现更好。在GLM或深度学习中,H2O会在幕后自动对分类变量进行独热编码——无论哪种方式,您都不需要进行任何预处理。如果您想获得更多控制权,可以使用categorical_encoding参数来控制自动编码的类型。
在H2O中,直接处理分类变量是一种巨大的优势。如果将分类变量进行独热编码,则相当于将一个变量拆分为几个值主要为0(例如稀疏)的变量。如Erin所述,这会使决策树表现更差。这是因为决策树在每个分裂点使用"信息增益"。稀疏特征(来自独热编码)具有较少的信息增益,因此比分类特征不太有用。