使用导出图将特征和类名获取到决策树中

2024-05-17 10:12:53 发布

您现在位置:Python中文网/ 问答频道 /正文

下午好

我正在研究一个决策树分类器,并且很难将其可视化。我可以输出决策树,但是我不能将我的特性或类名/标签放入其中。我的数据是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=??)  

如我所说,它运行良好并输出一个决策树,即如果我去掉feature_names和class_names参数。不过,如果可能的话,我想把它们包括在输出中,并且我已经撞到了墙。。。

任何帮助都将不胜感激!

谢谢

斯科特


Tags: 数据决策树treedfnames分类器trainingall
2条回答

就我个人而言,类名=真有效。它将显示结果的象征性表示。

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

类名存储在decision_tree_classifier.classes_中,即DecisionTreeClassifier实例的classes_属性中。特征名称应该是输入数据帧的列。为了你的案子

classe_names = decision_tree_classifier.classes_
feature_names = df.columns[14:]

相关问题 更多 >