学习中心
登录
已解决
graphviz生成的决策树如何直接显示图片?

老师,我用的是pycharm,决策树画好后不能直接输出,网上找到graph.view()自动生成一个pdf显示图片,或者用graph.render()保存后打开。有没有更简单的方式直接显示图片呀?实现plt.show()的效果,我用plt.show()没图出来。我的目标是生成一个如图所示的Figure格式的决策树。

graph.render('图片1',format='png') 
graph.view()
import numpy as np
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
y = np.array(list('NYYYYYNYYN'))
# print(y)
X = pd.DataFrame({'日志密度':list('sslmlmmlms'),
                  '好友密度':list('slmmmlsmss'),
                  '真实头像':list('NYYYYNYYYY'),
                  '真实用户':y})
X['日志密度']=X['日志密度'].map({'s':0,'m':1,'l':2})
X['好友密度']=X['好友密度'].map({'s':0,'m':1,'l':2})
X['真实头像']=X['真实头像'].map({'N':0,'Y':1})
print(X)

from sklearn.tree import DecisionTreeClassifier
from sklearn import tree
import graphviz

model=DecisionTreeClassifier(criterion='entropy')
model.fit(X.iloc[:,:-1],y) #切片截取数据,去掉目标值
print(X.iloc[:,:-1])
dot_data=tree.export_graphviz(model,filled=True,rounded=True,feature_names=X.columns[:-1])
graph=graphviz.Source(dot_data)
# plt.show()#不出图
graph.view() #生成了一个pdf打开
graph.render('图片1',format='png') #保存后可以打开

ca4b3dadee982c92a62b6babdea338df.png

506 1
    1个回答
    你还没有查看该回答的权限哦~请先获取查看权限
    立即查看
    写回答