我是scikit的新手。我正在尝试使用sklearn模块来训练决策树分类器。数据由一些分类特征和一些连续特征组成。但是当我训练分类器时,具有1,2,3等值的分类特征被视为连续的。我获得的结果即使对于特征的分类值也给出了范围。例如,我得到一个决策树,其中X [0] <4.5意味着一个特定的类,其中X [0]是一个分类特征。请注意,由于此处X [0]是分类,因此值1与值2无关,但分类器将它们组合在一起。我该如何处理?
有没有办法增加包含分类特征和类别超过2的节点的分割数。
答案 0 :(得分:0)
你应该首先对分类整数特征进行编码,然后应用DecisionTreeClassifier。
尝试使用库sklearn.preprocessing中的OneHotEncoder来预处理您的分类功能。
例如,您应该首先执行以下操作:
from sklearn.preprocessing import OneHotEncoder
ohe = OneHotEncoder(sparse=False)
processed_X = ohe.fit_transform(X[['0']].values)
其中&#39; 0&#39;是您的列功能X [0]。