我正在学习 ML 并用于scikit-learn
进行基本的决策树分类。
特征的值是分类的,所以我用来DictVectorizer
转换原始特征值。这是我的代码:
training_set # list of dict representing the traing set
labels # corresponding labels of the training set
vec = DictVectorizer()
vectorized = vec.fit_transform(training_set)
clf = tree.DecisionTreeClassifier()
clf.fit(vectorized.toarray(), labels)
with open("output.dot", "w") as output_file:
tree.export_graphviz(clf, out_file=output_file)
但我不明白输出图。它包含一棵树,每个节点都被标记X[1] <= 0.5000
或类似的东西。我所期望的是标有 的节点FEATURE_1 == VALUE_1
,un-vectorized
信息显示在树上。
是否可以?
更新:
例如,FEATURE_1
具有三个可能的值A
、B
、,C
它们又分别被矢量化为0,0
、。我在图表上想要的是而不是0,1
1,0
FEATURE_1 == A
X[1] <= 0.5