sklearn决策树应用及可视化

from sklearn import datasets
from sklearn.tree import DecisionTreeClassifier

1.载入iris数据集(from sklearn import datasets)

x = iris.data[:,[0,2]]   # x = iris.data[:, 0:2]
y = iris.target

2.设置训练集中的数据和标签(x是特征集合,二维数组,y是标签值集合,一维数组)

clf = DecisionTreeClassifier(max_depth = 3)
clf.fit(x,y)

3.训练模型(DecisionTreeClassifier涉及到参数max_depth及其他,参考sklearn)

最后,是决策树的可视化,预备工作为:

    scikit-learn中决策树的可视化一般需要安装graphviz。主要包括graphviz的安装和python的graphviz插件的安装。

    第一步是安装graphviz。下载地址在:http://www.graphviz.org/。如果你是linux,可以用apt-get或者yum的方法安装。如果是windows,就在官网下载msi文件安装。无论是linux还是windows,装完后都要设置环境变量,将graphviz的bin目录加到PATH,比如我是windows,将C:/Program Files (x86)/Graphviz2.38/bin/加入了PATH

    第二步是安装python插件graphviz: pip install graphviz

    第三步是安装python插件pydotplus。这个没有什么好说的: pip install pydotplus

    这样环境就搭好了,若仍然找不到graphviz,可以在代码里面加入这一行:

    os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'

两种方法:

(1)生成pdf

import pydotplus 
dot_data = tree.export_graphviz(clf, out_file=None) 
graph = pydotplus.graph_from_dot_data(dot_data) 
graph.write_pdf("iris.pdf") 

(2)直接在jupyter中显示

from IPython.display import Image  
from sklearn import tree
import pydotplus 
import os
os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'
dot_data = tree.export_graphviz(clf, out_file=None, 
                         feature_names=["sepal length","sepal width"],  
                         class_names=iris.target_names,  
                         filled=True, rounded=True,  
                         special_characters=True)  
graph = pydotplus.graph_from_dot_data(dot_data)  
Image(graph.create_png())

文章参考:https://www.cnblogs.com/pinard/p/6056319.html

原文地址:https://www.cnblogs.com/qiezi-online/p/12784733.html