我目前正在尝试预处理一个非常大的数据集,其中包含很多Scikit-Learns的分类功能。 RandomForest模型(回归)。分类数据的性质要求不通过编码方案添加任何标准。
H2o ML-Framework(Link)提供了enum
- 编码,它可以完美地适应我的数据。但是我依靠Scikit-Learns RandomForest。
是否有人知道某些enum
- Scikit-Learn模型的编码? (One-Hot-Encoding不是一个选项)
提前致谢!
答案 0 :(得分:1)
只有标签编码,LabelEncoder以及sklearn中提供的OHE。但是,它没有提供您想要的功能,因为类别只是编码为整数,这对于序数类别只是有意义的,我相信。我相信,在sklearn中,它需要模型来实现这种枚举类别处理(因为sklearn中有许多模型,而且大多数模型都无法从这种编码中受益)。
我认为,LightGBM声称here它在内部实施了这种类别的处理,但实际上并非100%确定是否属实。它的优点是它们同时具有RF和GBM树构建器,因此您可以轻松地在它们之间切换,并且它比sklearn实现更快。
另请注意CatBoost有一个内部类别编码的覆盖率工具包,但到目前为止我没有使用它的经验。