下午好,
我正在研究一个决策树分类器,但在可视化它时遇到了困难。我可以输出决策树,但无法将功能或类名/标签放入决策树。我的数据是熊猫数据帧格式的,然后我将其移动到一个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=??)
如我所说,如果我去掉feature_name和class_name参数,它运行良好并输出一个决策树。如果可能的话,我想把它们包括在输出中,并且已经遇到了麻烦。。。
任何帮助都将不胜感激!
谢谢
斯科特
类名存储在决策树\u分类器中。class
,即DecisionTreeClassifier
实例的class
属性。特征名称应该是输入数据框的列。就你的情况而言,你将
class_names = decision_tree_classifier.classes_
feature_names = df.columns[14:]
就我个人而言class_names=真正有效。它将显示结果的象征性代表。
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