机器学习算法(二)——决策树分类算法及R语言实现方法
来源:互联网 发布:央视 可视化呀数据 编辑:程序博客网 时间:2024/05/21 06:16
决策树算法是分类算法中最常用的算法之一。决策树是一种类似流程图的树形结构,可以处理高维数据,直观易理解,且准确率较高,因此应用广泛。本篇小博就决策树的若干算法:ID3算法、C4.5算法以及分类回归树(CART)、C5.0进行对比介绍,并对比C4.5与C5.0处理较大数据集时的效率,观察C5.0效率提升了多少。
一、概况
二、算法步骤
1、ID3算法
① 计算对D中原组分类所需要的期望信息,即明确要分为几类后,不同类型元组数目的信息熵。
② 计算每个属性的期望信息需求。要加上分类属性A中不同类别的占比作为每一个子数据集Dj熵的比重。
③ 计算信息增益。即按照A属性分类后得到的熵减去1中的熵,选择信息增益最大的作为分裂属性。
④ 若属性A为连续的,则扫描A一次,对于每一个准分裂点,按2进行计算,也是一种离散化处理。
2、C4.5算法
分类属性选取标准改为增益率。
3、CART
分类属性选取标准改为基尼系数。
三、对比C4.5算法以及C5.0算法
1、数据集如下
十折交叉检验实验结果如下:
运行时间对比:
可见C5.0处理较大数据集的速度提升还是很多的。
四、决策树的剪枝
为了防止因噪声或离群点导致的过拟合,决策树要进行剪枝操作,常用的剪枝策略包含先剪枝和后剪枝。
1、先剪枝
通过提前停止树的构建而对树进行剪枝,设定一个合理的阈值,如果通过该属性划分后的元组的某些统计特性(如统计显著性、信息增益以及基尼系数等)低于设定的阈值,则不再进行树的构建。
2、后剪枝
对已完全生长的树进行剪枝,通过删除节点的分支,用叶子节点(即类标号)来代替它完成剪枝。例如CART的代价复杂度剪枝算法,其剪枝的依据为树的代价复杂度,依赖于树的节点个数以及分类错误率,如果剪枝后能够带来更小的代价复杂度,那么就执行剪枝。
- 机器学习算法(二)——决策树分类算法及R语言实现方法
- 机器学习算法的R语言实现(二):决策树算法
- 机器学习算法(一)——关联规则Apriori算法及R语言实现方法
- 机器学习算法(三)——朴素贝叶斯算法及R语言实现方法
- R语言与机器学习学习笔记(分类算法)(2)决策树算法
- R语言与机器学习学习笔记(分类算法)(2)决策树算法
- 【转】R语言与机器学习学习笔记(分类算法)(2)决策树算法
- R语言与机器学习学习笔记(分类算法)(2)决策树算法
- 机器学习实战学习笔记(二)分类—ID3决策树算法(python3实现)
- 分类算法——决策树算法及其R实现
- 机器学习--分类算法(一)决策树
- 机器学习算法(二):决策树算法
- R语言与机器学习学习笔记(分类算法)
- R语言与机器学习学习笔记(分类算法)
- 机器学习算法(分类算法)—决策树之ID3算法
- 机器学习算法(分类算法)—决策树之ID3算法
- 机器学习算法及代码实现--决策树
- 【R笔记】R机器学习(五)——决策树ID3算法
- 以MyBatis+SpringMVC3.0实现的,借鉴了Hibernate设计思想,采用封装、抽象、继承的设计思想,做到了数据与相应的操作的高内聚低耦合的实现
- 作业3.24
- Javascript的常用语句
- 自定义控件系列之应用篇——自定义标题栏控件
- NDK开发环境搭建成功跑起JNI
- 机器学习算法(二)——决策树分类算法及R语言实现方法
- MFC 程序初始化
- mysql5.1忘记root密码找回密码以及mysql插入中文乱码问题解决
- 混淆Android JAR包的方法
- LeetCode (19) Multiply Strings
- arcgisengine中调用gp报错的问题
- C++ primer学习 1.4 if 语句
- 二维数组和指向指针的指针
- 算法的基本概念