1:图形可视化需要安装:Graphviz
ubuntu下安装Graphviz:https://blog.csdn.net/caiandyong/article/details/44408831
1)sudo apt-get install graphviz, graphviz-dev
2) sudo pip3 install pydot
2:scikit-learn 的算法选择路径
一个网站:http://sklearn.lzjqsdd.com/
原文链接:https://blog.csdn.net/yimingsilence/article/details/70160602?locationNum=7&fps=1
3.决策树模型可视化:
from pandas import read_csv
from matplotlib import pyplot
from matplotlib.image import imread
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.tree import export_graphviz
from sklearn.metrics import accuracy_score
import pydotplus
import os
filename='iris.txt'
names=['separ-length','separ-width','petal-length','petal-width','class']
dataset=read_csv(filename,names=names)
#分离数据集
#80%用于训练,20%用于评估
array=dataset.values
X=array[:,0:4]
Y=array[:,4]
validation_size=0.2
seed=7
X_train,X_validation,Y_train,Y_validation=\
train_test_split(X,Y,test_size=validation_size,random_state=seed)
#算法审查
model=DecisionTreeClassifier()
model.fit(X=X_train,y=Y_train)
#决策树图形化
dot_data=export_graphviz(model,out_file=None)
graph=pydotplus.graph_from_dot_data(dot_data)
path=os.getcwd() + '/'
tree_file=path+'iris.png'
try:
os.remove(tree_file)
except:
print('there is no file to be deleted.')
finally:
graph.write(tree_file,format = 'png')
#显示图像
image_data=imread(tree_file)
pyplot.imshow(image_data)
pyplot.axis('off')
pyplot.show()
#评估算法
predictions=model.predict(X_validation)
print(accuracy_score(Y_validation,predictions))
运行结果:
0.8666666666666667