【问题标题】:How to handle catagorical data while training decision tree using scikit-learn/ sklearn?如何在使用 scikit-learn/sklearn 训练决策树时处理分类数据?
【发布时间】:2015-07-30 21:44:35
【问题描述】:
我是 scikit 的新手。我正在尝试使用 sklearn 模块来训练决策树分类器。数据由一些分类特征和一些连续特征组成。但是当我训练分类器时,具有 1、2、3 等值的分类特征被视为连续的。我获得的结果即使对于特征的分类值也给出了一个范围。例如,我得到一个决策树,其中 X[0]
有没有办法增加包含分类特征和类别超过 2 的节点的分割数量。
【问题讨论】:
标签:
machine-learning
scikit-learn
decision-tree
【解决方案1】:
你应该首先对分类整数特征进行编码,然后应用 DecisionTreeClassifier。
尝试使用库 sklearn.preprocessing 中的 OneHotEncoder 来预处理您的分类特征。
例如,您应该首先执行以下操作:
from sklearn.preprocessing import OneHotEncoder
ohe = OneHotEncoder(sparse=False)
processed_X = ohe.fit_transform(X[['0']].values)
其中“0”是您的列特征 X[0]。