决策树相较于其他机器学习模型具有较好的解释性,也容易将其结果进行可视化展示,python中sklearn.tree的export_graphviz函数可以将决策树结果以doc或dot文件的形式输出,然后将决策树结果可视化,下面举个简单例子。
1、创建数据集from sklearn.datasets import make_classification
X, y = make_classification(n_samples=10000,
n_features=10,
n_informative=5,
n_redundant=0,
n_repeated=0,
n_classes=2,
weights=[0.8, 0.2],
flip_y=0.01,
random_state=1234)
2、训练决策树from sklearn.tree import DecisionTreeClassifier
Dtree = DecisionTreeClassifier(criterion='gini',
max_depth=3,
min_samples_split=int(0.03 * X.shape[0]),
min_samples_leaf=int(0.01 * X.shape[0]),
random_state=0)
Dtree.fit(X, y)
3、输出决策树结果文件from sklearn.tree import export_graphviz
export_graphviz(Dtree,
out_file='D:\\study\\Dtree.dot')
在'D:\study'中生成了'Dtree.dot'文件
4、决策树可视化
首先安装Graphviz(下载地址:http://www.graphviz.org/),安装好后,设置环境变量:在系统变量的PATH中添加Graphviz的bin目录路径,如我的安装路径是"C:\Program Files (x86)\Graphviz2.38\bin":
验证一下环境变量是否设置成功:在cmd中输入dot -version
然后在'D:\study'目录下,操作“Shift键+右击鼠标”打开Windows Powershell窗口,并输入"dot -Tpng Dtree.dot -o Dtree.png"命令,点击回车,即生成了决策树可视化图:
决策树如下
除了生成png格式图片,还可生成jpg、pdf等其他格式文件,只需将命令改为"dot -Tjpg Dtree.dot -o Dtree.jpg"、"dot -Tpdf Dtree.dot -o Dtree.pdf"即可。