数据挖掘(三)——决策树

一、概念

一张图就可以理解决策树是什么

图中的属性有三种:No Surfacing (水下是否可生存)、Filppers(有无脚蹼)、Fish(鱼),通常我们通过前两个属性来判断第三个属性,判断到底是不是鱼。所以

第三个属性这里就称它为决策属性

二、构建决策树的基本步骤

1、将所有数据看作是一个节点

2、计算信息熵选择出最好的分割点(如图中的No Surfacing或Filppers)

3、分割数据(假如分成两份数据子集A和B),看数据子集中的决策属性是否相同,相同则不继续分

4、不相同则继续分,回到步骤2,直到数据足够纯为止。

三、决策树的设计

1、决策树的设计需要考虑的两个问题

  •   何时选择分裂训练记录:计算信息增益,选择出最优的特征
  • 何时停止分裂:分裂节点下,所有记录都有相同的属性值

2、创建分支算法

检测数据集中每个子项是否属于同一个分类:

  如果是:return 类标签

否则:

寻找划分数据集最好的特征

划分数据集

创建分支节点

for每个划分的子集

调用本函数并增加返回结果到分支节点

return  分支节点

时间: 2024-12-29 11:24:36

数据挖掘(三)——决策树的相关文章

【Python数据挖掘】决策树

决策树的定义 决策树(decision tree)是一个树结构(可以是二叉树或非二叉树).其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别.使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果. 树是由节点和边两种元素组成的结构.理解树,就需要理解几个关键词:根节点.父节点.子节点和叶子节点. 父节点和子节点是相对的,说白了子节点由父节点根据某

数据挖掘之决策树

1.引言                                                                         决策树是建立在信息论基础之上,对数据进行分类挖掘的一种方法.其思想是,通过一批已知的训练数据建立一棵决策树,然后利用建好的决策树,对数据进行预测.决策树的建立过程可以看成是数据规则的生成过程.由于基于决策树的分类方法结构简单,本身就是人们能够理解的规则.其次,决策树方法计算复杂度不大,分类效率高,能够处理大数据量的训练集:最后,决策树方法的分类

Python数据挖掘—分类—决策树

概念 决策树(Decision Tree):它通过对训练样本的学习,并建立分类规则,然后依据分类,对新样本数据进行分类预测,属于有监督学习 优点:决策树易于理解和实现,决策树可处理数值型和非数值型数据 步骤 导入数据,确定虚拟变量的列,然后遍历这些列,将这些类的数据转换为分类型数据,再通过get_dummies()方法获取虚拟变量 1 import pandas 2 3 data=pandas.read_csv( 4 "C:\\Users\\Jw\\Desktop\\python_work\\P

机器学习实战读书笔记(三)决策树

3.1 决策树的构造 优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据. 缺点:可能会产生过度匹配问题. 适用数据类型:数值型和标称型. 一般流程: 1.收集数据 2.准备数据 3.分析数据 4.训练算法 5.测试算法 6.使用算法 3.1.1 信息增益 创建数据集 def createDataSet(): dataSet = [[1, 1, 'yes'], [1, 1, 'yes'], [1, 0, 'no'], [0, 1, 'no'], [0, 1, '

数据挖掘之决策树ID3算法(C#实现)

决策树是一种非常经典的分类器,它的作用原理有点类似于我们玩的猜谜游戏.比如猜一个动物: 问:这个动物是陆生动物吗? 答:是的. 问:这个动物有鳃吗? 答:没有. 这样的两个问题顺序就有些颠倒,因为一般来说陆生动物是没有鳃的(记得应该是这样的,如有错误欢迎指正).所以玩这种游戏,提问的顺序很重要,争取每次都能够获得尽可能多的信息量. AllElectronics顾客数据库标记类的训练元组 RID age income student credit_rating Class: buys_comput

【Python数据挖掘课程】四.决策树DTC数据分析及鸢尾数据集分析

今天主要讲述的内容是关于决策树的知识,主要包括以下内容:        1.分类及决策树算法介绍        2.鸢尾花卉数据集介绍        3.决策树实现鸢尾数据集分析        前文推荐:       [Python数据挖掘课程]一.安装Python及爬虫入门介绍       [Python数据挖掘课程]二.Kmeans聚类数据分析及Anaconda介绍       [Python数据挖掘课程]三.Kmeans聚类代码实现.作业及优化        希望这篇文章对你有所帮助,尤其

决策树代码(转)

转自http://blog.csdn.net/fy2462/article/details/31762429 一.前言 当年实习公司布置了一个任务让写一个决策树,以前并未接触数据挖掘的东西,但作为一个数据挖掘最基本的知识点,还是应该有所理解的. 程序的源码可以点击这里进行下载,下面简要介绍一下决策树以及相关算法概念. 决策树是一个预测模型:他代表的是对象属性与对象值之间的一种映射关系.树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路

数据挖掘之分类和预测

分类用于预测数据对象的离散类别,预测则用于预断 欺诈检测等的方面. 具有代表性的分类的方法 :决策树方法 贝叶斯分类方法 神经网络方法 支持向量机方法 关联分类的方法 最后 将讨论提高分类和预测期准确率的一般性的策略 分类的过程一般是有两个步骤组成的 第一个步骤是模型建立阶段,目的是描述预先定义的数据类或者概念集的分类器.这一步中会使用分类算法分析已有数据来构造分类器. 第二步骤是使用第一步得到的分类器进行分类,从而评估分类器的预测的准确率 预测与分类不同的是 对于需要预测的属性值是连续的 ,而

机器学习—— 决策树(ID3算法)的分析与实现

KNN算法请参考:http://blog.csdn.net/gamer_gyt/article/details/47418223 一.简介         决策树是一个预测模型:他代表的是对象属性与对象值之间的一种映射关系.树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值.决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出. 数据挖掘中决策树是一种经常要用到的技术,可以用于分析数据,同样也可以用