决策树python sklearn 示例

原创 2017年10月11日 20:47:58

本文主要是使用python sklearn,完成决策树的demo,以及可视化,最终生成的决策树结果。

from sklearn.datasets import load_iris
from sklearn import tree
from sklearn.tree import export_graphviz
import subprocess


def visualize_tree(tree, feature_name, dot_file):
    """Create tree png using graphviz.
    tree -- scikit-learn DecsisionTree.
    feature_names -- list of feature names.
    dot_file -- dot file name and path
    """
    with open("tree.dot", 'w') as f:
        export_graphviz(tree, out_file=f,
                        feature_names=feature_name)

    dt_png = "dt.png"
    command = ["dot", "-Tpng", dot_file, "-o", dt_png]
    try:
        subprocess.check_call(command)
    except Exception as e:
        print e
        exit("Could not run dot, ie graphviz, to "
             "produce visualization")


def iris_demo():
    clf = tree.DecisionTreeClassifier()
    iris = load_iris()
    # iris.data属性150*4,iris.target 类别归一化为了0,1,2(150*1)
    clf = clf.fit(iris.data, iris.target)
    dot_file = 'tree.dot'
    tree.export_graphviz(clf, out_file=dot_file)
    visualize_tree(clf, iris.feature_names, dot_file)

    # (graph,) = pydot.graph_from_dot_file('tree.dot')
    # graph.write_png('somefile.png')


if __name__ == '__main__':
    iris_demo()
    pass

数据集


1. 花的分类的四种属性,150个示例

这里写图片描述

2. 花的分类,一共三类对应于0,1,2

这里写图片描述

3. 花的四个属性的描述

这里写图片描述

最终生成的结果:

这里写图片描述

pydot的安装见另一篇bolg

http://blog.csdn.net/haluoluo211/article/details/78200078

转载注明出处,并在下面留言!!!

参考

http://chrisstrelioff.ws/sandbox/2015/06/08/decision_trees_in_python_with_scikit_learn_and_pandas.html

http://www.kdnuggets.com/2017/05/simplifying-decision-tree-interpretation-decision-rules-python.html

版权声明:

相关文章推荐

Python sklearn库中决策树tree.DecisionTreeClassifier()函数参数介绍

Python sklearn库中决策树tree.DecisionTreeClassifier()函数参数介绍

干货|从决策树到随机森林:树型算法的实现原理与Python 示例

原文地址 基于树(Tree based)的学习算法在数据科学竞赛中是相当常见的。这些算法给预测模型赋予了准确性、稳定性以及易解释性。和线性模型不同,它们对非线性关系也能进行很好的映射。常见的...

【决策树】熵及ID3算法Python示例

1、决策树学习 有如下数据集: 序号 天气 是否周末 是否有促销 销量 1 坏 是 是 高 2 坏 是 是 高 3 坏 ...

sklearn文档 — 1.10. 决策树

决策树(Decision Trees ,DTs)是一组用于分类和回归的无参监督学习。它们的目标是创建一个模型,然后这个模型通过从数据特征学习出一套简单的决策规则后,来预测出目标值。 以下方的实例为例...

《统计学习方法》学习笔记(6)-- 决策树-附代码(sklearn)

决策树,特征选择的三个准则:信息增益(ID3),信息增益比(C4.5),基尼系数(CART)。决策树的生成,决策树的剪枝。

机器学习之使用sklearn实现决策树及原理分析

import pandascolumns = ["age", "workclass", "fnlwgt", "education", "education_num", "marital_st...

sklearn之分类决策树

分类决策树 DecisionTreeClassifier 函数原型为 sklearn.tree.DecisionTreeClassifier(criterion=’gini’,spiltter=’...

使用sklearn 决策树,KNN,以及自定义KNN类来实现分类

本函数主要是使用sklearn三方库的一些函数来实现花朵种类的分类 同时也使用scipy自定义KNN算法

用 sklearn 库决策树分类器进行收入水平分类(一)

分类和预测是两种常用数据分析方式,可以用于提取数据类模型、预测未来的数据趋势,被广泛用于信用评价、医疗诊断、性能预测和购物选择分析等。本篇文章采用决策树分类模型,利用 sklearn 库提供的决策树分...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)