决策树DTC数据分析及鸢尾数据集分析

上传人:鲁** 文档编号:563833474 上传时间:2023-06-05 格式:DOCX 页数:18 大小:321.10KB
返回 下载 相关 举报
决策树DTC数据分析及鸢尾数据集分析_第1页
第1页 / 共18页
决策树DTC数据分析及鸢尾数据集分析_第2页
第2页 / 共18页
决策树DTC数据分析及鸢尾数据集分析_第3页
第3页 / 共18页
决策树DTC数据分析及鸢尾数据集分析_第4页
第4页 / 共18页
决策树DTC数据分析及鸢尾数据集分析_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《决策树DTC数据分析及鸢尾数据集分析》由会员分享,可在线阅读,更多相关《决策树DTC数据分析及鸢尾数据集分析(18页珍藏版)》请在金锄头文库上搜索。

1、决策树DTC数据分析及莺尾数据集分析 一.分类及决策树介绍1.分类分类其实是从特定的数据中挖掘模式,作出判断的过程。比如Gmail由B箱里有垃圾邮件分类器,一开始的时候可能什么 都不过滤,在日常使用过程中,我人工对于每一封邮件点选垃圾”或不是垃圾”,过一段时间,Gmail就体现出一定的智 能,能够自动过滤掉一些垃圾邮件了。这是因为在点选的过程中,其实是给每一条邮件打了一个标签”,这个标签只有两个值,要么是垃圾”,要么不 是垃圾”,Gmail就会不断研究哪些特点的邮件是垃圾,哪些特点的不是垃圾,形成一些判别的模式,这样当一封信的邮件到 来,就可以自动把邮件分到垃圾”和不是垃圾”这两个我们人工设定

2、的分类的其中一个。Training1 Build epigenetic model by iraknlrtgModel3Estimate accuracy by calctdaltrig iikelllioQ-ciHegative DatasetLikelihood ot model P(D|M)Supervised LearningPositiveDataset1. Divide data using a pnc/i known class labels分类学习主要过程如下:(1)训练数据集存在一个类标记号,判断它是正向数据集(起积极作用,不垃圾邮件),还是负向数据集(起抑制作用, 垃圾邮件

3、);(2)然后需要对数据集进行学习训练,并构建一个训练的模型;(3)通过该模型对预测数据集进预测,并计算其结果的性能。2.决策树(decision tree)决策树是用于分类和预测的主要技术之一,决策树学习是以实例为基础的归纳学习算法,它着眼于从一组无次序、无规 则的实例中推理出以决策树表示的分类规则。构造决策树的目的是找出属性和类别间的关系,用它来预测将来未知类别的记录 的类别。它采用自顶向下的递归方式,在决策树的内部节点进行属性的比较,并根据不同属性值判断从该节点向下的分支,在 决策树的叶节点得到结论。决策树算法根据数据的属性采用树状结构建立决策模型,决策树模型常用来解决分类和回归问题。常

4、见的算法包括:分 类及回归树(Classification And Regression Tree,CART), ID3 (Iterative Dichotomiser 3),C4.5,Chi-squared Automatic Interaction Detection(CHAID), Decision Stump,随机森林(Random Forest),多元自适应回归样条(MARS) 以及梯度推进机(Gradient Boosting Machine,GBM)。决策数有两大优点:1)决策树模型可以读性好,具有描述性,有助于人工分析;2)效率高,决策树只需要一次构建, 反复使用,每一次预测的

5、最大计算次数不超过决策树的深度。示例 1:下面举两个例子,参考下面文章,强烈推荐大家阅读,尤其是决策树原理。算法杂货铺一类算法之决策树(Decision tree) - leoo2sk这个也是我上课讲述的例子,引用上面文章的。通俗来说,决策树分类的思想类似于找对象。现想象一个女孩的母亲要 给这个女孩介绍男朋友,于是有了下面的对话:女儿:多大年纪了?母亲:26。女儿:长的帅不帅?母亲:挺帅的。女儿:收入高不?母亲:不算很高,中等情况。女儿:是公务员不?母亲:是,在税务局上班呢。女儿:那好,我去见见。这个女孩的决策过程就是典型的分类树决策。相当于通过年龄、长相、收入和是否公务员对将男人分为两个类别

6、:见和 不见。假设这个女孩对男人的要求是:30岁以下、长相中等以上并且是高收入者或中等以上收入的公务员,那么这个可以用下 图表示女孩的决策逻辑。公务帅或中等不见EricZhangs Tech Blog (http:/)示例 2 :另一个课堂上的例子,参考CSDN的大神lsldd的文章,推荐大家阅读学习信息熵用Python开始机器学习(2 :决策树分类算法)假设要构建这么一个自动选好苹果的决策树,简单起见,我只让他学习下面这4个样本:pythonview plain copy 口1.样本红大好苹果2.01113.11014.20105.3000样本中有2个属性,A0表示是否红苹果。A1表示是否大

7、苹果。本例仅2个属性。那么很自然一共就只可能有2棵决策树,如下图所示:示例 3 :第三个例子,推荐这篇文章:决策树学习笔记整理-bourneli决策树构建的基本步骤如下:1. 开始,所有记录看作一个节点;2. 遍历每个变量的每一种分割方式,找到最好的分割点;3. 分割成两个节点N1和N2;4. 对N1和N2分别继续执行2-3步,直到每个节点足够纯”为止。二 鸢尾花卉Iris数据集在Sklearn机器学习包中,集成了各种各样的数据集,上节课讲述Kmeans使用的是一个NBA篮球运动员数据集,需 要定义X多维矩阵或读取文件导入,而这节课使用的是莺尾花卉Iris数据集,它是很常用的一个数据集。数据集

8、来源:Iris plants data set - KEEL dataset该数据集一共包含4个特征变量,1个类别变量。共有150个样本,莺尾有三个亚属,分别是山莺尾(Iris-setosa),变 色莺尾(Iris-versicolor )和维吉尼亚莺尾(Iris-virginica)。iris中文指莺尾植物,这里存储了其萼片和花瓣的长宽,一共4个属性,莺尾植物又分三类。列名说明类型示例Sepal Length花V长度float5.1SepalWidth花萼宽麋float3.5PetalLength花瓣长度float1.4Petal Width花瓣float0.2Class0 -由莺尾(Irj

9、s-setosa)1 -变色莺尾(Iris-versicolor)2 -维吉尼亚莺尾(Iris-virginica)Int0iris 里有两个属性 iris.data,iris.target。data里是一个矩阵,每一列代表了萼片或花瓣的长宽,一共4列,每一列代表某个被测量的莺尾植物,一共采样了 150条记录。代码如下:pythonview plain copy1- #导入数据集iris2. from sklearn.datasets import load_iris3.4- #载入数据集5. iris = load_iris()6-#输出数据集7 print iris.data输出如下所示:

10、python view plain copy35.6.8.9.10.11.12.13.14.15.5.13.51.40.24.93.1.40.24.73.21.30.24.63.11.50.25.3.61.40.25.43.91.70.44.63.41.40.35.3.41.50.24.42.91.40.2.6.73.5.22.36.32.55.1.96.53.5.22.6.23.45.42.35.93.5.11.8target是一个数组,存储了 data中每条记录属于哪一类莺尾植物,所以数组的长度是150,数组元素的值因为共有3 类莺尾植物,所以不同值只有3个。种类:Iris Setosa(

11、山莺尾)Iris Versicolour (杂色莺尾)Iris Virginica(维吉尼亚莺尾)n1.2.3.4.5.python view plain copy #输出真实标签print iris.targetprint len(iris.target)#150个样本 每个样本4个特征print iris.data.shape输出结果如下:1.python view plain copy0 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 02.3.4.5.2 26.1507.(150L, 4L)可以

12、看到,类标共分为三类,前面50个类标位0,中间50个类标位1 ,后面为2。 下面给详细介绍使用决策树进行对这个数据集进行测试的代码。三.决策树实现鸢尾数据集分析1. DecisionTreeClassifierSklearn机器学习包中,决策树实现类是DecisionTreeClassifier,能够执行数据集的多类分类。输入参数为两个数组Xn_samples,n_features和 yn_samples,X为训练数据,y为训练数据的标记数据。DecisionTreeClassifier 构造方法为:1.2.3.4.5.6.7.8.9.10.python view plain copy口skl

13、earn.tree.DecisionTreeClassifier(criterion=gini,splitter=best,max_depth=None,min_samples_split=2,min_samples_leaf=1,max_features=None,random_state=None,min_density=None,compute_importances=None,max_leaf_nodes=None)莺尾花数据集使用决策树的代码如下:python view plain copy 3. Created on Fri Oct 14 21:44:19 20164.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.author:杨秀璋#导入数据集irisfrom sklearn.datasets import load_iris#载入数据集iris = load_iris()print iris.data#输出数据集print iris.target#输出真实标签print len(iris.target)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号