02.基本分类:基于决策树的分类

author author     2022-09-08     142

关键词:

分类技术
主要的分类技术
? 基于决策树的方法
? 基于规则的方法
? 基于实例的方法
? 贝叶斯信念网络
? 神经网络
? 支持向量机

分类的两个主要过程
训练/学习过程
预测/应用过程



决策树归纳

构建决策树的主要算法
- Hunt  (最早的决策树归纳算法之一)
- CART  (较为复杂,只适用于小规模数据的拟合)
- ID3   (无法处理数值属性,需要将数值属性进行离散化预处理)
- C4.5  (ID3的升级版本,基本算法同ID3,可以处理数值属性)
- SLIQ,SPRINT(主要使用与大数据的处理)


Hunt算法构造决策树的基本步骤
1. 开始,将所有记录看成一个节点;
2. 选择一个属性测试条件,将数据集分割为较小的子集,并创建为一个子节点;
3. 对于分割的每一个子集节点使用父节点剩余的属性测试条件继续分割,直到分割子集的类标属性成分单一;
技术分享
 


ID3算法构造决策树的基本步骤
1. 开始,所有记录看作一个节点;
2. 遍历每个变量的每一种分割方式,找到最好的分割点;
3. 分割成两个节点N1 和N2 ;
4. 对N 1 和N 2 分别继续执行2-3步,直到每个节点的不纯性足够低为止;

基于决策树分类的优点
- 构造树的代价不高
- 对未知记录归类非常迅速
- 规模较小的树容易解释
- 对很多简单的数据集,准确率可以与其他分类



决策树归纳的2个主要的设计问题
1、如何划分训练集
1)如何指定属性测试条件
? 依赖于属性类型
– 标称属性
– 序数属性
– 连续属性/数值属性
? 依赖于测试的输出个数
– 二路划分:将属性值划分成两个子集,如果基于数值属性,则将属性离散化为序数属性(有静态划分和动态划分2种方式),
技术分享
– 多路划分: 输出个数取决于该属性不同属性值的个数,如果是基于数值属性,则考虑所有的划分点,寻找最佳划分点(A<v)or(A>v)
技术分享
2)如何确定最佳划分
①结点不纯性的度量
  - 要求划分后子女结点的不纯性度量的值越低越好(即节点纯度越高);

②有3种不纯性度的量度:

- Gini指标(Gini Index)
技术分享
p(j | t) 是类j在结点t的出现概率
Gini指标的取值范围
max 1 - 1/nc,出现的情况是t对应的记录集在所有类中均匀分布
min 0,出现的情况是t对应的所有记录都属于同一个类

- 熵(Entropy)
技术分享
熵的取值范围
max log2 nc,出现的情况是t对应的记录集在所有类中均匀分布;
min 0,出现的情况是t对应的所有记录都属于同一个类;

- 误分率(Misclassification error)
技术分享
误分率的取值范围
max 1 - 1/nc,出现的情况是t对应的记录集在所有类中均匀分布
min 最小0,出现的情况是t对应的所有记录都属于同一个类

③基于不同不纯性度量指标划分方式

- 基于Gini指标的划分(使用于CART, SLIQ, SPRINT)
当一个结点p输出k个子女时,该划分的总Gini指标计算为:
技术分享
ni = 子女结点i对应的记录个数,
n = 结点p对应的记录个数

- 基于信息的划分(ID3算法引入)
技术分享
结点p输出k个子女;ni 是第i个子女对应的记录个数
由于划分导致熵减少;选择熵减少量最大的划分点,即
信息增益最大的划分点

2、何时停止划分
- 当所有记录从属同一个类时停止扩展结点
     Hunt算法引入的条件
- 当所有记录中对应属性的取值都相同时停止扩展
     再划分不能改变当前训练集的类分布
- 早期停止
    防止过分拟合



决策树归纳在Rapidminer中的实现
ID3算法,对应的算子是【ID3】,要先使用【Discretize】算子进行离散化预处理
技术分享
 C4.5算法,对应的算子是【Decision Tree】



关于ID3算法的计算流程

技术分享
 
技术分享
 
技术分享
 


 
































机器学习算法学习02:决策树的学习以及应用决策树解决cora数据集论文分类问题(代码片段)

...02:决策树的学习以及应用决策树解决Cora数据集论文分类问题文章目录机器学习算法学习02:决策树的学习以及应用决策树解决Cora数据集论文分类问题1.前言2.算法分析2.1算法概述2.2算法优化3.算法代码3.1决策属性优先级... 查看详情

统计学习方法李航学习笔记

一、决策树1、决策树是一种基本的分类与回归方法,本文主要讨轮用于分类的决策树,决策树模型呈现树形结构,在分类问题中,表示基于特征对实例进行分类的过程,学习时,利用训练数据,根据损失函数最小化的原则建立... 查看详情

监督式学习--分类决策树

决策树(decisiontree)是一种基本的分类与回归方法。其表示的树型结构,能够觉得是if-else规则的集合。基本的长处是分类可读性好,速度快。一般会有三个步骤:特征选择、决策树的生成和决策树的修剪。决策树由结点(node)和... 查看详情

分类:决策树——树的生长

...    本文是分类模型系列的初篇,先介绍最基本的分类/回归模型——决策树模型。决策树分类模型打算分为三篇来说明,第一篇先说明决策树生长,第二篇介绍决策树的剪枝过程,第三篇介绍常用的决策树模型算... 查看详情

决策树(decisiontree)

...。一、概述    决策树(decisiontree)是一种基本的分类与回归方法(这里是分类的决策树)。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。它可以认为是if-then规则的集合,也可以... 查看详情

机器学习笔记之三cart分类与回归树

本文结构:CART算法有两步回归树的生成分类树的生成剪枝CART-ClassificationandRegressionTrees分类与回归树,是二叉树,可以用于分类,也可以用于回归问题,最先由Breiman等提出。分类树的输出是样本的类别,回归树的输出是一个实... 查看详情

决策树基本原理

原理:要对数据进行分类,涉及到通过选取什么样的特征对数据进行分类,比如将柚子和西瓜进行分类,可以选取(大小、颜色、甜度等特征)决策树的功能就是判断使用哪个特征,然后选取他认为最好的特征对数据进行分类。... 查看详情

决策树(代码片段)

 决策树概述决策树(DecisionTree)算法是一种基本的分类与回归方法,是最经常使用的数据挖掘算法之一。我们这章节只讨论用于分类的决策树。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。... 查看详情

机器学习之监督学习-分类模型决策树的基本概念

机器学习之监督学习-分类模型决策树的基本概念决策树是一种简单高效且具有强解释性的模型,广泛应用于数据分析领域,其本质是一棵自上而下的由多个判断节点组成的树。我们看看如下图的两棵决策树,第一棵... 查看详情

统计学习五:1.决策树基本概念(代码片段)

全文引用自《统计学习方法》(李航)决策树(decisiontree)是一种常用的分类与回归方法。决策树的模型为树形结构,在针对分类问题时,实际上就是针对输入数据的各个特征对实例进行分类的过程,即通过树形结构的模型,在每... 查看详情

提升算法

提升树:提升树是以分类树或回归树为基本分类器的提升方法。提升方法实际采用加法模型(即基函数的线性组合)与前向分布算法,以决策树为基函数的提升方法称为提升树,对分类问题决策树是二叉分类树,对回归问题决策树... 查看详情

决策树与随机森林

参考技术A决策树(decisiontree)是一种基本的分类与回归方法,本文主要讨论用于分类的决策树。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。它可以认为是if-then规则的集合,也可以认为是定义... 查看详情

决策树学习笔记(decisiontree)

 什么是决策树?  决策树是一种基本的分类与回归方法。其主要有点事模型具有可得性,分类速度快。学习时,利用训练数据,根据损失函数最小化原则建立决策树模型;预测时,对新数据,利用决策树模型进行分类。 决... 查看详情

决策树的理解

决策树的分类速度快决策树有个步骤:特征选择,决策树生成,和决策树的修剪。特许选择:在于选取对训练数据具有分类能力的特征,这样可以提高决策树学习的效率。如果利用一个特征进行分类的结果与随机分类的结果没有... 查看详情

决策树分类算法(id3)

...习中分类方法中的一个重要算法 3. 构造决策树的基本算法  查看详情

为啥我的随机森林分类器模型中每棵决策树的 max_depth 都是一样的?

】为啥我的随机森林分类器模型中每棵决策树的max_depth都是一样的?【英文标题】:Whythemax_depthofeverydecisiontreeinmyrandomforestclassifiermodelarethesame?为什么我的随机森林分类器模型中每棵决策树的max_depth都是一样的?【发布时间】:20... 查看详情

机器学习---算法---adaboost

...很多关键的细节。本文中暂时没有讨论其数学公式,一些基本公式可以参考《统计学习方法》。基本原理Adaboost算法基本原理就是将多个弱分类器(弱分类器一般选用单层决策树)进行合理的结合,使其成为一个强分类器。Adaboos... 查看详情

基于决策树的简单验证码识别(代码片段)

...完成之后,得到的结果是同一类(或者称为表)的所有特征基本相同,然后根据某一类的所有样本通过平均(回归)或者投票(分类)得到一个输出。那么,当有新的待预测样本需要预测输出时,我只需知道样本属于哪个类(表)。工程优... 查看详情