Python学习第83天:决策树和随机森林 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...结构;如果从概率论的角度看,决策树的构建也可以视为计算以特征空间为前提的条件概率的过程。