数据挖掘之决策树与决策规则
2017-09-10 00:22
204 查看
决策树和决策规则是解决实际应用中分类问题的强大的数据挖掘方法
一般来说,分类是一个学习函数的过程,该函数把数据项映射到其中一个预定义的类中,若一个样本集包含属性值向量和一个相应的类,则基于归纳学习算法的每个分类就指定为该样本集的输入,归纳学习的目标是构建一个分类模型,称为分类器,他可以更具有效的属性输入值预测某个实体所属的类,换句话说,分类是吧某个不连续的标识值(类)分配给未标识的记录的过程
分类问题的更形象的方法是用图形来描述
具有N个特征的数据集可以看作N维空间中的离散点集
决策树
从数据中生成分类器的一个特别有效的方法是生成决策树,通过一组输入输出样本构建决策树的有指导学习方法,是分类和回归的高效的非参数化方法,决策树是有指导学习的分层模型,他通过带检验函数的决策节点,在一些列地柜的分支处识别出局部区间,决策树也是一个非参数化模型,因为他没有给类的密度假设任何参数形式
典型的决策树学习系统采用自上而下的方法,在部分搜索空间中搜索解决方案,他可以确保求出一个简单的决策树,但未必是最简单的
要生成一元分支的决策树,一个著名的算法是ID3算法,他的一个改进版本叫C4.5,贪婪搜索法涉及生成和修建决策树的结构,它一般应用于这些算法,来探测可行模型的幂空间
ID3算法在开始运行时,所有训练样本都位于树的根节点,该算法选取一个属性来区分这些样本,为每个属性建立一个分支,如果某样本自己的属性值等于分支指定的值,该样本自己就移到新生成的子节点上,这个算法递归的应用于每个子节点,直到一个节点上的所有样本都属于一个类为止
ID3的扩展是C4.5算法,C4.5算法把分类范围从类别属性扩展到数值属性
为了运用基于归纳学习的方法,必须满足几个关键的要求
属性值的描述,要分析的数据必须是平面稳健形式,一个对象或样本的所有信息都必须用固定属性集来表达
预先定义的类,要分配给样本的类必须事先建立,用机器学习的术语来说,这是有指导学习
离散的类,这些类的描述必须非常严谨,一个样本要么属于某个类,要么不属于,样本的个数必须远远超过类的个数
充足的数据,以决策树的形式给出了归纳总结后,要继续识别数据中的模式
“逻辑”分类模型,这些方法仅构造能用决策树或决策规则表达的分类器
C4.5算法
C4.5算法最重要的部分是由训练样本集生成初始决策树的过程,该算法生成了一个决策树形式的分类器,决策树是具有两类节点的结构:叶节点表示一个类,决策节点指定要在单个属性值上进行检验,对检验的每个可能输出都有一个分支或子树
决策树可以用来对新样本进行分类,这种分类从属的根节点开始移动样本,直至移动到叶节点为止,在每个非叶决策节点处,都要确定该节点的特征检验结果,然后考虑所选子树的根节点
C4.5一般包含三种类型的检验结构:
A:离散属性的“标准”检验,对属性的每个可能值有一个分支和输出
B: 如果属性Y有连续的数值,则比较该值和阈值
C: 更复杂的检验也基于离散值,在该检验中,属性的每个可能值都分配到数量可变的组中,每组都有一个输出和分支
6.未知属性值
C4.5算法的前一个版本基于一个假设,:所有属性值都已确定,但在数据集中,经常会缺少某些样本的一些属性值,这种不完全性在实际应用中非常常见,其原因是属性值和某个样本是不相关的,或搜集数据时没有记录,或把数据输入数据库时有人为的误差,为了解决丢失值,有两种选择:
A: 抛弃数据库中有丢失数据的样本
第一个解决方法很简单,但是如果样本集中存在大量的丢失值时,不能采用这种方法
B: 定义新的算法,或改进现有的算法,来处理丢失的数据
在试图解决丢失值时,总是会引发一些问题,丢失数据的几种通类方法通常是用最可能的值替代缺失值,或考虑该属性的所有值的概率分布,但是所有的这些方法都不太好,在C4.5算法中,普遍使用的法则是有未知值的样本按照已知值的相对频率随机分布
修剪决策树
决策树修剪的主要任务是舍弃一个或多个子树,并用叶替换这些子树,以简化决策树,用叶替换子树时,算法应降低预测误差率,提高分类模型的质量,
决策树修建的基本思想是去掉一部分对未知检验样本的分类精度没有帮助的树,生成更简单、更容易理解的树,有两种改进的递归分区的方法:
A: 在某些情况下不把样本集分区的更仔细
停止准则通常基于一些统计检验,如果分区前后分类精度没有明显的不同,就把当前的节点作为一个叶,由于决策在分区前做出,因此该方法就预修剪
B: 构建树之后,用所选的精度准则以回溯的方式去除树的一些点
这个决策在构建树之后做出,所以叫后修剪
C4.5 采用后修剪方法,但使用特殊的方法估计预测误差率,该方法叫悲观修剪
C4,5算法:生成决策规则
虽然修剪后的决策树比原来的更简洁,他们仍然非常复杂,大决策树很难理解,因为每个节点都有根据先行节点的检验结果建立的具体环境,为了使决策树模型更易读,可以把到达每个叶的路径转换成IF-THEN生成规则
9.C5.0算法
相比于C4.5,提供了推进技术的一个实体,他会构建全套的分类器,再选择出最终的分类,同时,包含了新的数据类型,例如日期,可以处理“不适用的”值,提出了可变误分类成本的概念,提供了预过滤属性机制
CART算法和Gini指标
CART:分类回归树,C4.5描述的分而治之的基本方法也适用于CART,其主要区别是树的结构、分区准则、修剪方法、和处理丢失值的方法
CART构建的树只有二元分区,这个限制简化了分区准则, 因为他不在需要多元分区,而且,如果标记是二元的,二元分区限制就允许CART按照属性值的个数,把分类属性分区为两个值子集,但这个限制也有缺点,因为在邻近的层上,同一个属性可能有多个分区,使树不大容易理解
CART使用Gini多样性指标作为分区准则,来替代C4.5中基于信息的准则,CART作者用Gini准则来替代信息增益,因为Gini可以扩展,包括对称成本,其计算速度也比信息增益快,Gini指标用于在决策树的每个内部节点上选择属性
11.决策树的决策规则的局限性
基于决策规则和决策树的模型相对简单易懂,其生成速度也非常快,逻辑方法不依赖属性值的分布或属性独立性的假设,这种方法在工作中也比多多数其他统计方法更可靠,但是也有一些缺点和局限性,必须注意这一点,因为方法的正确选择是数据挖掘过程成功的关键
如果数据样本在N维空间中用图形表示,其中N是属性的数量
一般来说,分类是一个学习函数的过程,该函数把数据项映射到其中一个预定义的类中,若一个样本集包含属性值向量和一个相应的类,则基于归纳学习算法的每个分类就指定为该样本集的输入,归纳学习的目标是构建一个分类模型,称为分类器,他可以更具有效的属性输入值预测某个实体所属的类,换句话说,分类是吧某个不连续的标识值(类)分配给未标识的记录的过程
分类问题的更形象的方法是用图形来描述
具有N个特征的数据集可以看作N维空间中的离散点集
决策树
从数据中生成分类器的一个特别有效的方法是生成决策树,通过一组输入输出样本构建决策树的有指导学习方法,是分类和回归的高效的非参数化方法,决策树是有指导学习的分层模型,他通过带检验函数的决策节点,在一些列地柜的分支处识别出局部区间,决策树也是一个非参数化模型,因为他没有给类的密度假设任何参数形式
典型的决策树学习系统采用自上而下的方法,在部分搜索空间中搜索解决方案,他可以确保求出一个简单的决策树,但未必是最简单的
要生成一元分支的决策树,一个著名的算法是ID3算法,他的一个改进版本叫C4.5,贪婪搜索法涉及生成和修建决策树的结构,它一般应用于这些算法,来探测可行模型的幂空间
ID3算法在开始运行时,所有训练样本都位于树的根节点,该算法选取一个属性来区分这些样本,为每个属性建立一个分支,如果某样本自己的属性值等于分支指定的值,该样本自己就移到新生成的子节点上,这个算法递归的应用于每个子节点,直到一个节点上的所有样本都属于一个类为止
ID3的扩展是C4.5算法,C4.5算法把分类范围从类别属性扩展到数值属性
为了运用基于归纳学习的方法,必须满足几个关键的要求
属性值的描述,要分析的数据必须是平面稳健形式,一个对象或样本的所有信息都必须用固定属性集来表达
预先定义的类,要分配给样本的类必须事先建立,用机器学习的术语来说,这是有指导学习
离散的类,这些类的描述必须非常严谨,一个样本要么属于某个类,要么不属于,样本的个数必须远远超过类的个数
充足的数据,以决策树的形式给出了归纳总结后,要继续识别数据中的模式
“逻辑”分类模型,这些方法仅构造能用决策树或决策规则表达的分类器
C4.5算法
C4.5算法最重要的部分是由训练样本集生成初始决策树的过程,该算法生成了一个决策树形式的分类器,决策树是具有两类节点的结构:叶节点表示一个类,决策节点指定要在单个属性值上进行检验,对检验的每个可能输出都有一个分支或子树
决策树可以用来对新样本进行分类,这种分类从属的根节点开始移动样本,直至移动到叶节点为止,在每个非叶决策节点处,都要确定该节点的特征检验结果,然后考虑所选子树的根节点
C4.5一般包含三种类型的检验结构:
A:离散属性的“标准”检验,对属性的每个可能值有一个分支和输出
B: 如果属性Y有连续的数值,则比较该值和阈值
C: 更复杂的检验也基于离散值,在该检验中,属性的每个可能值都分配到数量可变的组中,每组都有一个输出和分支
6.未知属性值
C4.5算法的前一个版本基于一个假设,:所有属性值都已确定,但在数据集中,经常会缺少某些样本的一些属性值,这种不完全性在实际应用中非常常见,其原因是属性值和某个样本是不相关的,或搜集数据时没有记录,或把数据输入数据库时有人为的误差,为了解决丢失值,有两种选择:
A: 抛弃数据库中有丢失数据的样本
第一个解决方法很简单,但是如果样本集中存在大量的丢失值时,不能采用这种方法
B: 定义新的算法,或改进现有的算法,来处理丢失的数据
在试图解决丢失值时,总是会引发一些问题,丢失数据的几种通类方法通常是用最可能的值替代缺失值,或考虑该属性的所有值的概率分布,但是所有的这些方法都不太好,在C4.5算法中,普遍使用的法则是有未知值的样本按照已知值的相对频率随机分布
修剪决策树
决策树修剪的主要任务是舍弃一个或多个子树,并用叶替换这些子树,以简化决策树,用叶替换子树时,算法应降低预测误差率,提高分类模型的质量,
决策树修建的基本思想是去掉一部分对未知检验样本的分类精度没有帮助的树,生成更简单、更容易理解的树,有两种改进的递归分区的方法:
A: 在某些情况下不把样本集分区的更仔细
停止准则通常基于一些统计检验,如果分区前后分类精度没有明显的不同,就把当前的节点作为一个叶,由于决策在分区前做出,因此该方法就预修剪
B: 构建树之后,用所选的精度准则以回溯的方式去除树的一些点
这个决策在构建树之后做出,所以叫后修剪
C4.5 采用后修剪方法,但使用特殊的方法估计预测误差率,该方法叫悲观修剪
C4,5算法:生成决策规则
虽然修剪后的决策树比原来的更简洁,他们仍然非常复杂,大决策树很难理解,因为每个节点都有根据先行节点的检验结果建立的具体环境,为了使决策树模型更易读,可以把到达每个叶的路径转换成IF-THEN生成规则
9.C5.0算法
相比于C4.5,提供了推进技术的一个实体,他会构建全套的分类器,再选择出最终的分类,同时,包含了新的数据类型,例如日期,可以处理“不适用的”值,提出了可变误分类成本的概念,提供了预过滤属性机制
CART算法和Gini指标
CART:分类回归树,C4.5描述的分而治之的基本方法也适用于CART,其主要区别是树的结构、分区准则、修剪方法、和处理丢失值的方法
CART构建的树只有二元分区,这个限制简化了分区准则, 因为他不在需要多元分区,而且,如果标记是二元的,二元分区限制就允许CART按照属性值的个数,把分类属性分区为两个值子集,但这个限制也有缺点,因为在邻近的层上,同一个属性可能有多个分区,使树不大容易理解
CART使用Gini多样性指标作为分区准则,来替代C4.5中基于信息的准则,CART作者用Gini准则来替代信息增益,因为Gini可以扩展,包括对称成本,其计算速度也比信息增益快,Gini指标用于在决策树的每个内部节点上选择属性
11.决策树的决策规则的局限性
基于决策规则和决策树的模型相对简单易懂,其生成速度也非常快,逻辑方法不依赖属性值的分布或属性独立性的假设,这种方法在工作中也比多多数其他统计方法更可靠,但是也有一些缺点和局限性,必须注意这一点,因为方法的正确选择是数据挖掘过程成功的关键
如果数据样本在N维空间中用图形表示,其中N是属性的数量
相关文章推荐
- 未来的信息化,就是挖掘企业数据、提升战略决策
- 机器学习&数据挖掘笔记_22(PGM练习六:制定决策)
- 数据挖掘之关联分析三(规则的产生)
- 数据挖掘案例——药物选择决策支持
- 数据挖掘导论:从包含d个项的数据集提取的可能规则总数
- 【数据挖掘】决策树之CART (Classification and Regression Trees)分类与回归树
- 数据挖掘、概率分析与决策支持
- 大数据挖掘: FPGrowth初识--进行商品关联规则挖掘
- 机器学习、大数据、深度学习、数据挖掘、统计、决策和风险分析、概率和模糊逻辑的常见问题解答
- 数据挖掘-Iris数据集分析-决策边界(六)
- 数据挖掘-Iris数据集分析-决策边界_根据花瓣数据绘制(七)
- 数据挖掘之关联分析三(规则的产生)
- SQL Server数据挖掘规则实现商品推荐
- 未来的信息化,就是挖掘企业数据、提升战略决策
- 【大数据部落】NBA体育决策和数据挖掘分析
- 支持度与置信度(找出所有规则)--《python数据挖掘入门与实践》
- # 数据挖掘算法 ## 18大经典DM算法 18大数据挖掘的经典算法以及代码实现,涉及到了决策分类,聚类,链接挖掘,关联挖掘,模式挖掘等等方面,后面都是相应算法的博文链接,希望能够帮助大家学。 目前
- [数据挖掘课程笔记]基于规则的分类-顺序覆盖算法(sequential covering algorithm)
- 数据挖掘之分类——基于规则的分类器
- 利用数据挖掘工具weka进行管理规则挖掘