概述
《老饼讲解机器学习》http://ml.bbbdata.com/teach#95
目录
一.代码
二.运行结果
sklearn中,训练完决策树后,将决策树可视化,更容易帮助我们了解模型的训练结果。
决策树图形化 需要先通过pip安装graphviz包: pip install graphviz
仍然使用《分类:一个简单的决策树例子》中的例子:
一.代码
from sklearn.datasets import load_iris
from sklearn import tree
import graphviz
#----------------数据准备----------------------------
iris = load_iris() # 加载数据
#---------------模型训练----------------------------------
clf = tree.DecisionTreeClassifier() # sk-learn的决策树模型
clf = clf.fit(iris.data, iris.target) # 用数据训练树模型构建()
r = tree.export_text(clf, feature_names=iris['feature_names'])
dot_data = tree.export_graphviz(clf, out_file=None,
feature_names=iris.feature_names,
class_names=iris.target_names,
filled=True, rounded=True,
special_characters=True)
graph = graphviz.Source(dot_data)
graph #显示图形。(如果没显示,则需要独立运行这一句)
#graph.render("iris") #将图形保存为iris.pdf文件。
#graph.view() # 直接打开pdf文件展示
备注:
(1)如果报错 failed to execute ['dot', '-Tsvg'], make sure the Graphviz executables are on your systems' PATH,请查看《运行graphviz报错解决方案》
(2)如果没显示以下图形,则独立运行最后一句 graph
二.运行结果
通过图形化,我们可以清晰的看到:
初始根节点有150个样本,每个类别各有50个样本。gini系数为0.667,节点属于setosa类别 。
根节点以petal_length<=2.45划为左节点,共50个样本,全部第1类。该节点极纯,gini系数为0。 根据这50个样本所属类别,该节点被判为setosa.
根节点petal_length>2.45划为右节点,共100个样本,2类和3类各50个。该节点gini系数为0.5(即随便抽两个样本,属于不同类别的可能性为0.5)。根据这100个样本,该节点被判为versicolor类。
画出图后,可以清晰看到整个树的构建过程和树最后的结构,便于我们分析模型和模型优化。
《老饼讲解机器学习》http://ml.bbbdata.com/teach#95
最后
以上就是美丽汽车为你收集整理的sklearn决策树结果可视化一.代码二.运行结果的全部内容,希望文章能够帮你解决sklearn决策树结果可视化一.代码二.运行结果所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复