gpt4 book ai didi

python - scikit-learn 决策树是否支持无序的 ('enum' ) 多类特征?

转载 作者:太空狗 更新时间:2023-10-30 00:32:59 60 4
gpt4 key购买 nike

来自documentation , DecisionTreeClassifier 似乎支持多类特征

DecisionTreeClassifier is capable of both binary (where the labels are [-1, 1]) classification and multiclass (where the labels are [0, ..., K-1]) classification.

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

我正在尝试构建具有枚举特征的树(其中每个特征的绝对值没有意义 - 等于\不等于)

这在 scikit-learn 决策树中受支持吗?

我目前的解决方案是针对每个可能的值将每个特征分成一组二进制特征 - 但我正在寻找更清洁、更高效的解决方案。

最佳答案

术语“多类”仅影响目标变量:对于 scikit-learn 中的随机森林,它要么是带有用于多类分类的整数编码的分类变量,要么是用于回归的连续变量。

“大于”规则适用于独立于目标变量种类的输入变量。如果您有低维度的分类输入变量(例如少于几十个可能的值),那么对这些变量使用单热编码可能是有益的。见:

  • OneHotEncoder如果您的类别被编码为整数,
  • DictVectorizer如果您的类别在 python 字典列表中被编码为字符串标签。

如果某些分类变量具有高基数(例如,数千个可能值或更多),则实验表明 DecisionTreeClassifier 和基于它们的更好模型,例如 RandomForestClassifier 可以直接在原始整数编码上进行训练,而无需将其转换为会浪费内存或模型大小的单热编码。

关于python - scikit-learn 决策树是否支持无序的 ('enum' ) 多类特征?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18734183/

60 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com