决策树和随机森林算法 简介

  • 决策树(Decision Tree) 是一种基础的分类回归算法
  • 随机森林 是由多棵决策树集成在一起的集成学习算法

决策树生成过程:

  • 特征选择
  • 决策树生成
  • 决策树剪枝

信息熵

用来衡量一个节点内信息的不确定性的。

  • 信息熵越大, 不确定性越大, 样本就越多样, 样本的纯度低
  • 信息熵越小, 不确定性越小, 样本趋于一致, 样本的纯度高

决策树在每次划分的时候, 理想的是每个条件分支都能够最大化地去划分这些样本, 每个检点的信息熵低, 样本的一致性高.

剪枝操作

对一棵树进行简化, 减少它的复杂度, 提高模型的泛化能力.

判断某个节点去掉后, 模型的准确度如果没有降低, 就可以减掉这个节点.

决策树算法

  • ID3(Iterative Dichotomiser 3,迭代二叉树3代)
    • 分类
    • 多叉树
    • 最初代决策树算法
    • 使用的计算指标是信息增益
    • 简单易懂
    • 无法剪枝, 容易拟合
    • 无法处理连续值
  • C4.5
    • 分类
    • 多叉树
    • ID3 基础上改进后的算法
    • 使用的计算指标是信息增益率
    • 可以处理缺失值, 连续值
    • 可以剪枝, 避免过拟合
  • CART(Classification and Regression Trees,分类与回归树)
    • 分类 / 回归
    • 二叉树
    • 做分类问题时, 使用的是 Gini 系数 (Gini Coefficient 基尼系数)
    • 做回归问题时, 使用的是 偏差值
    • 可以处理缺失值, 连续值
    • 可以剪枝, 避免过拟合
    • 既可以处理分类问题, 也可以处理回归问题

点击查看 Gini 系数: https://blog.csdn.net/galoiszhou/article/details/135148568

随机森林

由多棵决策树组成,随机指的是每一个决策树的样本是随机从数据集中采样得到的。

随机森林属于集中学习 (Ensemble Learning).

计算成本会更高. 面对复杂样本的时候, 没有办法很好的区分, 模型上限很低.

决策树算法的优点:

  • 可解释性强, 直观好理解
  • 可以从结果向上追溯原因

决策树算法的缺点:

  • 数据量大, 数据维度多的时候, 会非常的复杂, 训练时间会很久
  • 对决策树的深度设置如果不合理, 结果不理想

决策树和随机森林算法的适用场景:

  • 决策树
    • 分类问题
      • 决策树广泛应用于分类问题,例如判定邮件是否为垃圾邮件、图像是否包含某个物体等。
    • 回归问题
      • 决策树可以用于回归问题,例如预测房价、销售量等连续型变量。
    • 非线性关系
      • 决策树适用于处理非线性关系的数据,对于线性模型表现不佳的情况,决策树可能更为合适。
    • 特征之间存在复杂交互
      • 当特征之间存在复杂的交互关系,决策树可以更好地捕捉这些关系。
    • 可解释性要求高
      • 决策树提供了直观的决策规则,对于需要可解释性高的场景,例如医学诊断、法律决策等,决策树是一个不错的选择。
    • 特征类型混合
      • 决策树可以处理混合类型的特征,包括连续型和离散型特征。
    • 少量样本数据
      • 决策树对于少量样本数据也可以表现得相当鲁棒,不容易过拟合。
  • 随机森林
    • 大规模数据集
      • 随机森林通常能够很好地处理大规模数据集,因为它可以并行处理多个决策树。
    • 高维特征
      • 随机森林对高维数据具有较好的适应性,可以处理具有大量特征的数据集。
    • 复杂的分类问题
      • 随机森林适用于处理复杂的分类问题,尤其是当数据具有复杂的特征关系时。
    • 噪声较大的数据
      • 由于随机森林可以减少过拟合,因此在数据中存在噪声或异常值的情况下表现较好。
    • 特征重要性分析
      • 如果需要对特征的重要性进行分析,随机森林能够提供每个特征对于模型的贡献程度。
    • 集成学习
      • 随机森林是一种集成学习方法,通过结合多个弱学习器,可以显著提高模型的稳定性和准确性。
    • 处理缺失值
      • 随机森林能够有效处理缺失值,不需要对缺失值进行额外的处理。

决策树和随机森林算法的案例:

  • 决策树
    • 贷款申请审核
      • 决策树可用于银行贷款申请审核。通过分析申请者的信用、收入、债务等特征,决策树可以帮助判断贷款是否应该被批准。
    • 医学诊断
      • 决策树可用于医学领域,例如预测患者是否患有某种疾病。通过分析患者的症状、检测结果等特征,决策树可以辅助医生做出诊断。
    • 销售预测
      • 在销售领域,决策树可用于预测产品的销售量。通过考虑各种因素,如广告投放、季节性等,可以制定更有效的销售策略。
    • 人力资源管理
      • 决策树可用于人力资源管理,例如预测员工是否会离职。通过分析员工的绩效、满意度等特征,可以制定员工留存策略。
    • 客户流失预测
      • 决策树可用于预测客户流失概率。通过分析客户的行为、使用频率等特征,企业可以采取措施留住潜在流失客户。
  • 随机森林
    • 图像识别
      • 随机森林可用于图像识别任务。通过构建多个决策树,随机森林可以有效地处理复杂的图像特征,用于物体识别或人脸识别等场景。
    • 信用评分模型
      • 随机森林可用于建立信用评分模型。通过分析申请者的信用历史、收入、债务等特征,随机森林可以更准确地评估申请者的信用风险。
    • 森林火灾预测
      • 随机森林可以用于预测森林火灾的概率。通过分析气象数据、植被状况等特征,可以提前预警潜在的火灾风险。
    • 金融欺诈检测
      • 在金融领域,随机森林可用于检测信用卡交易中的欺诈行为。通过分析交易金额、交易地点等特征,可以识别潜在的欺诈行为。
    • 医学图像分析
      • 随机森林在医学图像分析中应用广泛,例如肿瘤检测。通过分析医学图像的特征,可以帮助医生进行病变检测和分类。
相关推荐
蹉跎x1 小时前
力扣1358. 包含所有三种字符的子字符串数目
数据结构·算法·leetcode·职场和发展
巫师不要去魔法部乱说2 小时前
PyCharm专项训练4 最小生成树算法
算法·pycharm
IT猿手2 小时前
最新高性能多目标优化算法:多目标麋鹿优化算法(MOEHO)求解GLSMOP1-GLSMOP9及工程应用---盘式制动器设计,提供完整MATLAB代码
开发语言·算法·机器学习·matlab·强化学习
阿七想学习2 小时前
数据结构《排序》
java·数据结构·学习·算法·排序算法
王老师青少年编程2 小时前
gesp(二级)(12)洛谷:B3955:[GESP202403 二级] 小杨的日字矩阵
c++·算法·矩阵·gesp·csp·信奥赛
Kenneth風车3 小时前
【机器学习(九)】分类和回归任务-多层感知机(Multilayer Perceptron,MLP)算法-Sentosa_DSML社区版 (1)111
算法·机器学习·分类
eternal__day3 小时前
数据结构(哈希表(中)纯概念版)
java·数据结构·算法·哈希算法·推荐算法
APP 肖提莫3 小时前
MyBatis-Plus分页拦截器,源码的重构(重构total总数的计算逻辑)
java·前端·算法
OTWOL3 小时前
两道数组有关的OJ练习题
c语言·开发语言·数据结构·c++·算法
qq_433554544 小时前
C++ 面向对象编程:递增重载
开发语言·c++·算法