决策树及其拓展 吴恩达课程

看到了个关于决策树很好的文章:链接

决策树

在所有可能的决策树中,选择一个在训练集上表现良好,并能很好的推广到新数据(即交叉验证集和测试集)的决策树。
参考文章


信息增益

信息增益越大,表示该特征对数据集划分所获得的"纯度提升"越大。所以信息增益可以用于决策树划分属性的选择,即选择信息增益最大 的属性。


关于信息增益的另一篇参考文章

构建决策树的过程

计算所有可能的信息增益,并选择最高的信息增益,根据选择的特征拆分数据集,并创建左右节点。继续递归调用以上拆分过程,直到达到阈值标准为止:

1.当某个节点的纯度为100%,即该节点的所有样本都属于一个类

2.当拆分节点后,导致树的深度超过最大深度

3.当拆分节点后,信息增益小于阈值时

4.当节点中的样本个数小于阈值时

参考文章

另一篇详细讲解构建决策树的文章

独热编码

独热编码用来解决 类别型数据的离散值问题

  • 优:独热编码解决了分类器不好处理属性数据的问题,在一定程度上也起到了扩充特征的作用。它的值只有0和1,不同的类型存储在垂直的空间。
  • 缺:当类别的数量很多时,特征空间会变得非常大。在这种情况下,一般可以用PCA来减少维度。而且one hot encoding+PCA这种组合在实际中也非常有用。
    独热编码详细解说

连续值处理

吴恩达讲解视频里是设定阈值。

另一篇文章不一样的方法:离散化策略------二分法

决策树不仅可以用来分类,也可以用于回归问题(连续的值):

参考文章
分类树与回归树的区别

从根节点开始,一步一步划分,直到到达叶子节点,最后输出预测特征值

决策树集合

单个决策树可能会对数据的微小变化高度敏感,即鲁棒性(意思稳定性差)很差。所以使用多个决策树。

对每个决策树分别进行预测,最后统计结果,选择多数的结果作为最终预测结果。
参考文章

相关推荐
半盏茶香17 分钟前
【C语言】分支和循环详解(下)猜数字游戏
c语言·开发语言·c++·算法·游戏
徐子童21 分钟前
双指针算法习题解答
算法
想要打 Acm 的小周同学呀30 分钟前
LRU缓存算法
java·算法·缓存
劲夫学编程2 小时前
leetcode:杨辉三角
算法·leetcode·职场和发展
毕竟秋山澪2 小时前
孤岛的总面积(Dfs C#
算法·深度优先
浮生如梦_4 小时前
Halcon基于laws纹理特征的SVM分类
图像处理·人工智能·算法·支持向量机·计算机视觉·分类·视觉检测
励志成为嵌入式工程师5 小时前
c语言简单编程练习9
c语言·开发语言·算法·vim
捕鲸叉6 小时前
创建线程时传递参数给线程
开发语言·c++·算法
A charmer6 小时前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法
wheeldown7 小时前
【数据结构】选择排序
数据结构·算法·排序算法