scikit-lean决策树是否支持无序('enum')多类功能?

Oph*_*tan 5 python decision-tree scikit-learn

文档中可以看出,它DecisionTreeClassifier支持多类功能

DecisionTreeClassifier既可以是二进制(标签是[-1,1])分类,也可以是多类(标签是[0,...,K-1])分类.

但是,似乎每个节点中的决策规则都基于"大于"

我正在尝试使用枚举功能构建树(其中每个功能的绝对值没有意义 - 只等于\不等于)

这是scikit-learn决策树支持的吗?

我目前的解决方案是将每个功能分离为每个可能值的一组二进制功能 - 但我正在寻找更清洁,更有效的解决方案.

ogr*_*sel 10

术语多类仅影响目标变量:对于scikit中的随机森林 - 学习它是分类的,具有用于多类分类的整数编码或用于回归的连续.

"大于"规则适用于输入变量,与目标变量的类型无关.如果您有具有低维度的分类输入变量(例如,少于几十个可能的值),那么对这些变量使用单热编码可能是有益的.看到:

如果某些分类变量具有高基数(例如,数千个可能的值或更多),那么已经通过实验证明DecisionTreeClassifiers和基于它们的更好的模型(例如RandomForestClassifiers)可以直接在原始整数编码上训练而不将其转换为单热编码会浪费内存或模型大小.