Python学习第83天:决策树和随机森林
2026/6/14 10:03:01 网站建设 项目流程

Python学习100天(从入门到精通系列文章)


文章目录

  • Python学习100天(从入门到精通系列文章)
  • 前言
  • 一、决策树概述
    • 1.1 什么是决策树
    • 1.2 决策树的结构
    • 1.3 构建决策树的三个核心步骤
  • 二、特征选择
    • 2.1 信息熵
    • 2.2 条件熵与信息增益
    • 2.3 信息增益比
    • 2.4 基尼指数
    • 2.5 三种特征选择方法对比
  • 三、数据分裂与树的剪枝
    • 3.1 数据分裂过程
    • 3.2 连续值与缺失值处理
    • 3.3 树的剪枝
  • 四、使用 scikit-learn 实现决策树
    • 4.1 基础用法
    • 4.2 可视化决策树
    • 4.3 调整参数后的决策树
    • 4.4 DecisionTreeClassifier 重要参数
    • 4.5 网格搜索调优
  • 五、随机森林
    • 5.1 什么是随机森林
    • 5.2 随机森林的工作流程
    • 5.3 随机森林的优缺点
    • 5.4 使用 scikit-learn 实现随机森林
    • 5.5 网格搜索调优
    • 5.6 RandomForestClassifier 特有参数
  • 六、决策树 vs 随机森林对比
  • 七、常见错误与避坑指南
    • 7.1 错误一:决策树不限制深度导致过拟合
    • 7.2 错误二:随机森林树的数量太少
    • 7.3 错误三:混淆三种特征选择方法
  • 参考链接
  • 总结

前言

上一篇文章我们学习了 kNN 算法——一种"近朱者赤,近墨者黑"的惰性学习算法。今天,我们将深入探讨另一种经典的监督学习算法:决策树,以及基于决策树的集成学习方法——随机森林。决策树模拟了人类做决策时的分支判断过程,直观易懂;随机森林则通过"三个臭皮匠顶个诸葛亮"的集成思想,大幅提升了模型的准确性和鲁棒性。本文适合有 Python 和 NumPy 基础、正在系统学习机器学习的读者。


一、决策树概述

1.1 什么是决策树

决策树(Decision Tree)是一种基于树结构的监督学习算法,可用于分类回归任务。它通过将数据集逐步分割成不同的子集,直到满足某些停止条件,以此实现预测目标。

我们生活中做决策时也会用到类似的方法。例如,某位女生约见相亲对象的决策方法就可以绘制成如下所示的决策树:

如果具备一定的编程常识,你会发现用决策树做预测的过程相当于是执行了一系列的if...else...结构;如果从概率论的角度看,决策树的构建也可以视为计算以特征空间为前提的条件概率的过程。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询