下午好,
我正在研究决策树分类器,但我无法对其进行可视化。我可以输出决策树,但是我无法将我的功能或类名/标签输入其中。我的数据是一个pandas数据帧格式,然后我移动到一个numpy数组并传递给分类器。我尝试过一些东西,但是当我尝试指定类名时,似乎只是出错了。任何帮助,将不胜感激。代码如下。
all_inputs=df.ix[:,14:].values
all_classes=df['wic'].values
(training_inputs,
testing_inputs,
training_classes,
testing_classes) = train_test_split(all_inputs, all_classes,train_size=0.75, random_state=1)
decision_tree_classifier=DecisionTreeClassifier()
decision_tree_classifier.fit(training_inputs,training_classes)
export_graphviz(decision_tree_classifier, out_file="mytree.dot",
feature_names=??,
class_names=??)
LIke我说,如果我拿出feature_names和class_names参数,它运行正常并输出一个决策树。我想尽可能将它们包含在输出中并且已经碰壁了......
非常感谢任何帮助!
谢谢,
斯科特
答案 0 :(得分:10)
类名存储在decision_tree_classifier.classes_
中,即classes_
个实例的DecisionTreeClassifier
属性。功能名称应该是输入数据框的列。对于你的情况,你将有
classe_names = decision_tree_classifier.classes_
feature_names = df.columns[14:]
答案 1 :(得分:1)
对我个人而言,class_names = True有效。它会显示结果的象征性表示。
feature_names = df.columns[14:]
tree.export_graphviz(decision_tree_classifier, out_file="mytree.dot",
feature_names=feature_names ,
class_names=TRUE)
以下是有关该主题的更多详细信息:https://scikit-learn.org/stable/modules/generated/sklearn.tree.export_graphviz.html