1、环境:Jupyter Notebook需要在Anaconda3安装graphviz和pydotplus
2、安装办法:官网 下载
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 import DictVectorizer
from import train_test_split
from import DecisionTreeClassifier, export_graphviz
import pydotplus
from sklearn import tree
from import accuracy_score #导入准确度基础分数函数
df=('C:/Users/llx/Desktop/music;)
#输入集
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 = (model, out_file=None)
graph = (dot_data)
gra(";)
7、运行结果显示True,表示图片已经生成,保存在Python同文件下
8、图片效果如下:
9、想要直接在Jupyter Notebook窗口直接显示图片,并且填充颜色,把图片矩形变成圆角的,代码修改如下:
import pandas as pd
from import DictVectorizer
from import train_test_split
from import DecisionTreeClassifier, export_graphviz
import pydotplus
from sklearn import tree
from IPy import display, Image
from import accuracy_score #导入准确度基础分数函数
df=('C:/Users/llx/Desktop/music;)
#输入集
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 = (model, out_file=None)
# graph = (dot_data)
#gra(";)
#filled=True表示填充颜色,False不填颜色;rounded=True表示矩形角是圆形的,special_characters=True显示特殊符号,这里X后面的下标就是显示效果
dot_data = (model,out_file=None,filled=True,rounded=True,special_characters=True)
graph = (dot_data)
display(Image()))
运行效果图如下: