有没有一种方法可以在没有单热编码的情况下使用带有分类变量的决策树?

Is there a way to use decision trees with categorical variables without one-hot encoding?

我有一个包含 200 多个分类变量(非有序变量)和几个连续变量的数据集。我曾尝试使用 one-hot 编码,但这会大大增加维度并导致得分很低。
似乎常规的 scikit-learn 树只能与已转换为单热编码(对于非序数变量)的分类变量一起使用,我想是否有一种方法可以在没有单热的情况下创建树。我做了一些研究,发现有一个名为 h2o 的 API 可能有用,但我正试图找到一种方法在我的本地机器上 运行 它。

您可以为 python 安装 h2o-3 包,例如,从 h2o.ai/downloads 或从 pypi.

h2o 包自动有效地处理分类值。建议先不要one-hot-encode他们。

您可以在文档中找到很多文档。h2o.ai。

根据,https://datascience.stackexchange.com/a/32623/51879

您可以使用此包装器的其他编码技术 scikit-learn http://contrib.scikit-learn.org/categorical-encoding/

另请查看这篇很棒的文章以了解更多详细信息https://medium.com/data-design/visiting-categorical-features-and-encoding-in-decision-trees-53400fa65931