机器学习(8)决策树
来源:互联网 发布:二次元人物制作软件 编辑:程序博客网 时间:2024/05/22 01:33
决策树生成是一个递归过程,是一种简单高效并且具有强解释性的模型,广泛应用于数据分析领域。其本质是一颗由多个判断节点组成的“树”。
有一堆水果,其中有香蕉,苹果,杏这三类,现在要对它们分类,可以选择的特征有两个:形状和大小,其中形状的取值有个:圆形和不规则形,大小的取值有:相对大和相对小。现在要对其做分类,我们可以这样做:
首先根据特征:形状,如果不是圆形,那么一定是香蕉,这个就是叶子节点;
如果是圆形,
再进一步根据大小这个特征判断,如果是相对大的,则是苹果,如果否,则是杏子,至此我们又得到两个叶子节点,并且到此分类位置,都得到了正确划分三种水果的方法。
这就是一个决策分类,构建树的一个过程,说成是树,显得有点高大上,再仔细想想就是一些列 if 和 else 的嵌套,说是树只不过是逻辑上的一种神似罢了。
刚才举的这个例子,有两个特征:形状和大小,并且选择了第一个特征:形状作为第一个分裂点,大小作为第二个分裂点,那么不能选择第二个特征作为第一分裂点吗? 这样选择有没有公式依据呢?
先提一个概念:信息熵。是度量样本集合纯度最常用的一种指标。其实就是纯度的意思....当zy要分类的种类越多纯度越低,分类的种类越小纯度越高,纯度越高则越容易划分属性。
信息熵公式:
p是当前样本结合D中第i类样本所占的比例。
以下是一个判断是否去相亲的例子:
假如我是红娘,我手头上有20个boy,其中符合该相亲条件的有9个,不符合该相亲条件的有11个,那么正例为9/20,反例为11/20.
由信息熵公式求出信息熵为:
求和符号上面的那个2,是因为只有两个分类结果
现在介绍信息增益公式:
这里只展示一个类别,所以看不出其他属性的信息增益的大小,当计算出Gain()后,值最大的那个属性被划分出来。
决策树的基本公式就上面的两个,还有其他的加强算法这里就不讲了。以后遇到问题再写吧。
决策树学习方法检测速度很快,但容易过度拟合,于是有剪枝的方法。
剪枝分为预剪枝和后剪枝。预剪枝是指再决策树生成过程中,对每个结点再划分前先进行估计,若当前划分不能带来泛化性能提高,则停止划分并将当前结点作为叶结点;后剪枝则先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换成叶结点能带来泛化性能提高,则将该子树替换成叶结点。
这里的算法只是粗略带过,需要尽快进入强化学习的副本
日常深推公众号:
- 机器学习(8)决策树
- 机器学习(决策树)
- 机器学习(二)决策树
- 【机器学习】(9):决策树
- 机器学习01(决策树)
- 机器学习(二)--决策树
- 机器学习(十二)决策树
- 机器学习(二)-决策树
- 机器学习(二):决策树
- 机器学习二(决策树)
- 机器学习(七):决策树
- 机器学习(三)决策树学习
- 机器学习(三)决策树学习
- 机器学习实战笔记(三)决策树
- 【机器学习】决策树(Decision Tree)
- 机器学习--分类算法(一)决策树
- 白话机器学习算法(十八)决策树
- Python机器学习(三)--决策树算法
- 逆向微信------给微信加上控件之骰子作弊
- 图像检索
- 挑棍子
- Sping Boot 定时任务 修改系统时间 定时任务失效!!!
- -webkit-border-radius和-moz-border-radius
- 机器学习(8)决策树
- 2017 前端大事件和趋势回顾,2018 何去何从?
- python3+opencv
- 多线程 阻塞带返回值
- Android内存泄漏问题排查
- C++学习 多态&抽象类
- 使用 docker 安装 OpenVAS 漏洞扫描软件
- Hive的各种排序详解与代码演示
- Tensorflow+Spyder+Opencv环境搭建