关于鸢尾花的数据集的介绍,见维基百科 https://en.wikipedia.org/wiki/Iris_flower_data_set
该数据集由来自三种鸢尾(Iris setosa,Iris virginica和Iris versicolor)中的每一种的50个样品组成。从每个样品测量四个特征:萼片和花瓣的长度和宽度,以厘米为单位。
数据集包含一组150个记录,属于5个属性 - 花瓣长度,花瓣宽度,萼片长度,萼片宽度和类别。
from sklearn.datasets import load_iris #导入鸢尾花的数据集,
iris=load_iris()# 数据集介绍
# 见维基百科https://en.wikipedia.org/wiki/Iris_flower_data_set
# print(iris.feature_names) #['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'] 花瓣长度/花瓣宽度/萼片长度/萼片宽度
# print(iris.target_names)#['setosa' 'versicolor' 'virginica']三种鸢尾花
# print(iris.data[0]) #[5.1 3.5 1.4 0.2] 第一条数据
# print(iris.target[0:51])#[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1] 可以看出每个品种的花50个样本
# print(len(iris.target)) #150
# for i in range(len(iris.target)):
#     print('Example样本%d,label标签%s, features特征%s'%(i,iris.target[i],iris.data[i]))# example used to 'test' the classifier's accuracy
test_idx=[0,50,100]
import numpy as np
# 训练数据
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]from sklearn import tree
clf=tree.DecisionTreeClassifier()
clf=clf.fit(train_data,train_target)print(test_target)#[0 1 2]
print(clf.predict(test_data)) #[0 1 2]# 制作简单易读的pdf
from sklearn.externals.six import StringIO
import pydotplus   #pydot的升级包
dot_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())graph.write_pdf('iris.pdf') #关于报错:https://www.jianshu.com/p/d221834e00c4print(test_data[0],test_target[0])  #[5.1 3.5 1.4 0.2] 0
print(iris.feature_names,iris.target_names) #['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'] ['setosa' 'versicolor' 'virginica']

注意1:需要安装Graphviz软件,而不是通过pip install Graphviz安装包;

安装Graphviz软件步骤:

1.下载Windows软件包 2.38稳定释放  graphviz-2.38.zip

https://graphviz.gitlab.io/_pages/Download/Download_windows.html

2.将压缩包放入E:\AI graphviz\ 中解压,解压后多了一个release文件夹;

3.将release中的bin文件夹的路径添加到环境变量中:

注意2.安装 pydot的升级包 pydotplus,通过pip install  pydotplus

注意3.Decision Tree分类数据需要从上往下看,每个节点代表一个特征,并向其提供一个‘是不是的问题’。

使用决策树总结:决策树提出的每一个问题,必须针对某一个特征,就意味着你选的特征越可靠,决策树准确率越高。

DecisionTree决策树分类可视化相关推荐

  1. 数据分享|PYTHON用决策树分类预测糖尿病和可视化实例

    全文下载链接:http://tecdat.cn/?p=23848 在本文中,决策树是对例子进行分类的一种简单表示.它是一种有监督的机器学习技术,数据根据某个参数被连续分割.决策树分析可以帮助解决分类和 ...

  2. 以红酒数据集分类为例做决策树的可视化

    文章目录 前言 决策树原理 可视化决策树举例 gini entropy 总结 前言 本文是决策树可视化例子 决策树原理 决策树的分类原理有ID3(信息增益最大准则).C4.5(信息增益比准则).CAR ...

  3. python决策树分类 导入数据集_BPNN、决策树、KNN、SVM分类鸢尾花数据集Python实现...

    数据集处理 数据获取 使用sklearn的dataset获取数据 from sklearn import datasets from sklearn.model_selection import tr ...

  4. 机器学习: 01 决策树分类

    文章目录 决策树演变 从LR 到决策树演变 决策树构建过程,如何停止生长?三个条件是什么 树模型属性选择? 回归树剪纸?如果让回归树无限制生长,会过拟合 决策树到随机森林 决策树分类案例 工具库导入 ...

  5. Python 决策树分类算法分析与实现

    决策树分类算法分析与实现 决策树分类算法是最为常见的一种分类算法,通过属性划分来建立一棵决策树,测试对象通过在树上由顶向下搜索确定所属的分类.决策树的构建主要需要解决两个问题: (1)树的每次成长,选 ...

  6. python决策树分类鸢尾花_基于决策树—鸢尾花分类

    决策树算法广泛应用于:语音识别.医疗诊断.客户关系管理.模式识别.专家系统等,在实际工作中,必须根据数据类型的特点及数据集的大小,选择合适的算法. 本文选择经典案例--<鸢尾花分类> 一. ...

  7. c++实现决策树分类汽车评估数据集_R有监督机器学习-分类方法

    当我们说机器学习的的时候,我们在说什么? 来源于mlr3包的作者:https://mlr3book.mlr-org.com/basics.html 上图解释了完整的机器学习流程,包括构建任务.准备训练 ...

  8. Kaggle数据集之电信客户流失数据分析(三)之决策树分类

    一.导入数据 import pandas as pd df=pd.read_csv(r"D:\PycharmProjects\ku_pandas\WA_Fn-UseC_-Telco-Cust ...

  9. 决策树分类原理(一)26

    1.决策树概述 决策树是属于有监督机器学习的一种,起源非常早,符合直觉并且非常直观,模仿人类做决策的过程,早期人工智能模型中有很多应用,现在更多的是使用基于决策树的一些集成学习的算法.这一章我们把决策 ...

最新文章

  1. 如何减少浏览器repaint和reflow(下)
  2. No subject
  3. 自学python方法-零基础初学Python人工智能的四种学习方法
  4. docker-compose常用命令
  5. [自定义区间-Range]书里的例子 - 中文数字类
  6. 微信公众平台向特定用户推送消息
  7. 云原生一体化数仓发布
  8. 交叉编译成windows版
  9. 移动端页面适配解决方案
  10. [ZJOI2007]棋盘制作 悬线法dp 求限制下的最大子矩阵
  11. 还有人不知道什么是AndroidX的吗?文末领取面试资料
  12. Ranklib源码剖析--LambdaMart
  13. 选中内容_Excel – 选中的单元格自动显示在A1,报表演示数据再多也能看清
  14. poj 1190 生日蛋糕
  15. WdatePicker—WdatePicker日历控件使用方法
  16. ArcView 9.3 安装帮助指南(针对Student Edition-One-Year版本)
  17. opencv阈值操作threshold以及图像二值化
  18. Maven(六)Maven传递性和依赖性
  19. Andriod Studio 安装过程
  20. 【串口服务器rs485通信教程】存储型网关工作模式

热门文章

  1. Windows+Linux等双系统的卸载
  2. oracle查看时间戳函数,oracle数据库实现获取时间戳的无参函数
  3. linux服务器测试软件,linux服务器常用测试工具及命令
  4. HashMap 中 hash 冲突的解决方法及原理分析
  5. Nginx实现请求转发
  6. CYJian的水题大赛[第二弹] U34202 JerryC Loves Driving
  7. 毕业设计 嵌入式 万能红外遥控器
  8. 【树莓派】 Python点灯程序的编写、部署、开机运行
  9. Python实现电阻计算器——快速计算电阻值
  10. 黄杏元《地理信息系统概论》考研复习考点精讲(七)