1、环境:Jupyter Notebook需要在Anaconda3安装graphviz和pydotplus
2、安装办法:官网http://www.graphviz.org/ 下载
3、安装办法,默认条件下一步即可
4、环境变量配置
安装完成后把graphviz安装路径的bin目录配置环境变量的path中,C:\UserProgramFile\graphviz\bin\
方法:选中电脑——右击属性——高级系统设置——环境变量——点击新建——输入变量值:path 变量名:graphviz这个文件夹的路径——确定即可
5、Wins+R输入cmd输入pip install pydotplus 即可安装pydotplus
5、然后重启Jupyter Notebook,再次运行程序。
6、运行预测模型如下:
import pandas as pd
from sklearn.feature_extraction import DictVectorizer
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier, export_graphviz
import pydotplus
from sklearn import tree
from sklearn.metrics import accuracy_score #导入准确度基础分数函数
df=pd.read_csv('C:/Users/llx/Desktop/music/music.csv')
#输入集
X = df.drop(columns=['genre'])
#输出集
Y = df['genre']
X_train, X_test, Y_train, Y_test =train_test_split(X, Y, test_size=0.2) #把20%数据分给测试集,这个函数返回4个变量并把4个参数传入对应位置
model = DecisionTreeClassifier() #调用模型创建实例决策树分类器
#model.fit(X,Y) #训练模型传入的是全部数据
model.fit(X_train, Y_train) #训练模型传入的只是测试数据
#预测①21岁男性,音乐喜爱类型;②22岁女性,音乐喜爱类型
#predicts = model.predict([ [21, 1], [22, 0] ])
#predicts
#预测值
predictions = model.predict(X_test) #用测试输入值,得到预测值
score = accuracy_score(Y_test,predictions) #测试值(实际值),预测值
score
# 决策树可视化
dot_data = tree.export_graphviz(model, out_file=None)
graph = pydotplus.graph_from_dot_data(dot_data)
graph.write_pdf("tree1.pdf")
7、运行结果显示True,表示图片已经生成,保存在Python同文件下
8、图片效果如下: