decison tree 决策树

信息增益

信息增益描述的是在分叉过程中获得的熵减,信息增益即熵减。

熵减可以用来决定什么时候停止分叉,当熵减很小的时候你只是在不必要的增加树的深度,并且冒着过拟合的风险

决策树训练(构建)过程

离散值特征处理:One-Hot编码

一个具有 N 个取值的离散特征可以转换为 N 个二进制特征,每个二进制特征对应一个可能的取值。

连续值特征处理:

计算不同阈值的熵减,选取熵减最大的阈值作为分叉阈值

回归树

回归树用来预测一个连续值,训练时跟决策树的区别是训练时最小化方差,而决策树是最大化熵减

集成树

单个决策树的一个缺点是对数据的变化比较敏感,我们需要尝试降低树的敏感度提高鲁棒性,此时我们可以构建集成树,即一组决策树

有放回抽样(sample with replacement)

从训练集中随机取出一个之后放回,确保它在后续抽取中仍有可能被再次抽到。

随机森林

利用有放回抽样,我们可以连续抽样并组成新的训练集,使用新的训练集训练一棵新的树。重复该行为可以生成多棵树,称为随机森林。

如果有 n 个特征,一般要生成 棵树

XGBoost

对随机森林的提升:从第二次迭代开始,不是等概率随机抽样,而是让上一轮预测错误的样本有更大的概率被抽样到,以类似错误修正的方式训练树。

决策树与神经网络的选择

决策树在结构化数据下可用,非结构化数据不推荐;可解释

相关推荐
小欣加油24 分钟前
leetcode 面试题01.02判定是否互为字符重排
数据结构·c++·算法·leetcode·职场和发展
3Cloudream27 分钟前
LeetCode 003. 无重复字符的最长子串 - 滑动窗口与哈希表详解
算法·leetcode·字符串·双指针·滑动窗口·哈希表·中等
王璐WL35 分钟前
【c++】c++第一课:命名空间
数据结构·c++·算法
空白到白1 小时前
机器学习-聚类
人工智能·算法·机器学习·聚类
索迪迈科技1 小时前
java后端工程师进修ing(研一版 || day40)
java·开发语言·学习·算法
zzzsde2 小时前
【数据结构】队列
数据结构·算法
芒克芒克2 小时前
LeetCode 面试经典 150 题:删除有序数组中的重复项(双指针思想解法详解)
算法
青 .2 小时前
数据结构---二叉搜索树的实现
c语言·网络·数据结构·算法·链表
zzywxc7872 小时前
AI在金融、医疗、教育、制造业等领域的落地案例
人工智能·机器学习·金融·prompt·流程图
MChine慕青3 小时前
顺序表与单链表:核心原理与实战应用
linux·c语言·开发语言·数据结构·c++·算法·链表