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

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

决策树

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


信息增益

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


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

构建决策树的过程

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

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

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

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

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

参考文章

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

独热编码

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

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

连续值处理

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

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

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

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

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

决策树集合

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

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

相关推荐
秋说33 分钟前
【PTA数据结构 | C语言版】一元多项式求导
c语言·数据结构·算法
Maybyy1 小时前
力扣61.旋转链表
算法·leetcode·链表
卡卡卡卡罗特3 小时前
每日mysql
数据结构·算法
chao_7893 小时前
二分查找篇——搜索旋转排序数组【LeetCode】一次二分查找
数据结构·python·算法·leetcode·二分查找
lifallen4 小时前
Paimon 原子提交实现
java·大数据·数据结构·数据库·后端·算法
lixzest4 小时前
C++ Lambda 表达式详解
服务器·开发语言·c++·算法
EndingCoder4 小时前
搜索算法在前端的实践
前端·算法·性能优化·状态模式·搜索算法
丶小鱼丶4 小时前
链表算法之【合并两个有序链表】
java·算法·链表
不吃洋葱.5 小时前
前缀和|差分
数据结构·算法
2401_878624796 小时前
pytorch 自动微分
人工智能·pytorch·python·机器学习