【发布时间】:2018-06-01 02:02:54
【问题描述】:
在使用 DecisionTreeClassifier I visualized it using graphviz 时,我不得不说,令我惊讶的是,它似乎需要分类数据并将其用作连续数据。
我的所有特征都是分类的,例如,您可以看到以下树(请注意,第一个特征 X[0] 有 6 个可能的值 0、1、2、3、4、5: 从我发现here 来看,该类使用一个二叉树的树类,因此它是 sklearn 的一个限制。
任何人都知道我缺少一种明确使用树的方法吗? (我知道这不是更好的任务,但由于我需要类别,目前我在数据上使用一个热向量)。
原始数据的样本如下所示:
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 c1 c2 c3
0 C S O 1 2 1 1 2 1 2 0 0 0
1 D S O 1 3 1 1 2 1 2 0 0 0
2 C S O 1 3 1 1 2 1 1 0 0 0
3 D S O 1 3 1 1 2 1 2 0 0 0
4 D A O 1 3 1 1 2 1 2 0 0 0
5 D A O 1 2 1 1 2 1 2 0 0 0
6 D A O 1 2 1 1 2 1 1 0 0 0
7 D A O 1 2 1 1 2 1 2 0 0 0
8 D K O 1 3 1 1 2 1 2 0 0 0
9 C R O 1 3 1 1 2 1 1 0 0 0
其中 X[0] = f1 和我将字符串编码为整数,因为 sklearn 不接受字符串。
【问题讨论】:
-
“第一个特征 X[0] 有 6 个可能的值 0、1、2、3、4、5”,而您的所有特征都是分类的?请发布您的数据样本,否则您的问题完全不清楚......
-
如果还没有,请尝试将分类特征中的所有元素转换为字符串,看看是否能解决问题。
-
@desertnaut 它有 6 个类别,编码为 0、1、2、3、4、5。不过我会添加一个示例
-
@Alex sklearn DecisionTree 据我所知不接受字符串作为参数..
标签: python machine-learning scikit-learn decision-tree categorical-data