机器学习2-决策树的可视化

来源:互联网 发布:淘宝运营策划案 编辑:程序博客网 时间:2024/05/20 06:04

iris数据

鸢尾花数据是一个经典的入门案例

这里写图片描述

python代码

# coding=utf-8# sklearn中为我们准备的数据-iris# iris有三种鸢尾花,山鸢尾花,变色鸢尾和维吉尼亚鸢尾# 数据中有4个特征(feature)# sepal length (花萼长度)# sepal width (花萼宽度)# petal lenth (花瓣长度)# petal width (花瓣宽度)from sklearn.datasets import load_iris;from sklearn import treeimport numpy as np# 获取鸢尾数据iris = load_iris()# 用来做测试的数据下标test_idx = [0,50,100]# 用以训练的数据train_target = np.delete(iris.target,test_idx)train_data = np.delete(iris.data,test_idx,axis=0)# 用以测试的数据test_target = iris.target[test_idx]test_data = iris.data[test_idx]# 决策树clf = tree.DecisionTreeClassifier()clf.fit(train_data,train_target)# 打印出测试数据和决策树的预言数据# 结果应该是一样的(即决策树能正确预测)print "test_target:"print test_targetprint "predict:"print clf.predict(test_data)# 将决策树可视化# 需要pydot(我安装了兼容版本pydotplus)# 同时需要Graphviz(请去官网www.graphviz.org下载)from sklearn.externals.six import StringIOimport pydotplusdot_data = StringIO()tree.export_graphviz(clf,                        out_file=dot_data,                        feature_names=iris.feature_names,                        class_names=iris.target_names,                        filled=True,rounded=True,                        impurity=False)graph = pydotplus.graph_from_dot_data(dot_data.getvalue())# 输出pdf,显示整个决策树的思维过程graph.write_pdf("viz.pdf")

决策树是少数可以被可视化的分类器

附图:
这里写图片描述

“`

0 0
原创粉丝点击