决策树与随机森林:让机器学会分类和预测
原创
代码小铺
代码小铺
代码小铺
2026年6月13日 09:37
湖北
在小说阅读器读本章
去阅读
一棵树,帮你做决定
想象你站在一个水果摊前,想挑一个好西瓜。你的脑子里其实正在运行一棵\"决策树\":
- • 先看瓜皮颜色——深绿色的可能更熟
- • 再看瓜蒂——卷曲的通常更新鲜
- • 最后拍一拍——声音沉闷的往往更好
恭喜,你刚刚完成了一次决策树推理。每一个判断条件就是一个\"节点\",最终\"这瓜好不好\"就是叶子节点的结论。
决策树,就是机器学习领域最接近人类思维方式的一类算法。它不像神经网络那样是个\"黑箱\",而是把每一步判断都摊开给你看——正因如此,它成为了入门机器学习最好的起点之一。
决策树是怎么\"长\"出来的
决策树的核心思想很简单:找到最能区分数据的特征,一刀切下去,再找下一刀。
但\"最能区分\"怎么衡量?这里引入两个经典指标:
信息增益(Information Gain)——切完之后,数据的\"混乱程度\"降低了多少。混乱程度用信息论中的熵来度量:
其中 是第
类样本在数据集中的比例。熵越大,数据越混乱;切分后熵降得越多,这一刀就越\"值钱\"。
基尼不纯度(Gini Impurity)——随机取两个样本,它们类别不同的概率。基尼不纯度越低,切分越好。
以西瓜为例:如果按颜色切分后,深绿色那边几乎全是好瓜,浅绿色那边几乎全是坏瓜,那这一刀的信息增益就很高。
就这样递归地切下去,一棵决策树就\"长\"出来了。
一棵树的烦恼:过拟合
单棵决策树有个致命问题——太容易过拟合。
它会把训练数据学得太细,连噪声都记住。就像一个人背了整本习题集,考试成绩不一定好,因为换道题就不会了。树如果长得太深,每个叶子可能只对应一两个样本,泛化能力极差。
怎么解决?一个思路是剪枝——限制树的深度、限制叶子节点最少样本数。但更强大的方案是:别靠一棵树,种一片森林。
随机森林:三个臭皮匠,赛过诸葛亮
随机森林的思路非常优雅:
-
- Bagging(装袋法):从训练集中随机采样多次(有放回),每次训练一棵决策树
-
- 特征随机化:每棵树在每个节点只从随机选出的几个特征中挑最好的来切分
-
- 投票/平均:分类时让所有树投票,回归时取所有树预测的平均值
这样每棵树都\"看到\"不同的数据子集和特征子集,彼此之间有差异性。集成起来,方差大幅降低,过拟合问题迎刃而解。
一个直觉类比:你问一个路人\"这只股票会不会涨\",不太靠谱。但如果你问 100 个互不相关的路人,然后统计多数意见,准确率会高得多——这就是\"集体智慧\"。
实际应用场景
决策树和随机森林在工业界的应用极其广泛:
金融风控:银行用随机森林判断贷款申请是否通过。特征包括年龄、收入、信用历史、负债比等。树模型不仅给出\"通过/拒绝\"的结论,还能告诉你最重要的判断依据是什么——这在合规审查中至关重要。
医疗诊断:根据患者的年龄、症状、化验指标,决策树可以辅助判断疾病类型。优势在于医生可以看懂整条推理链路,而不是对着一个黑箱发呆。
电商推荐:用户是否会购买某件商品?决策树根据浏览历史、消费金额、停留时间等特征做出预测。随机森林则进一步提升准确率。
特征重要性:随机森林还有一个副产品——它能告诉你哪些特征最重要。在数据分析阶段,这相当于一份免费的特征筛选报告。
与深度学习的对比
你可能会问:现在大模型这么火,决策树是不是过时了?
恰恰相反。在表格数据(tabular data)场景下,随机森林和它的升级版 XGBoost、LightGBM 至今仍是竞赛和工程的首选。它们训练快、可解释性强、对超参数不太敏感。
深度学习擅长的是图像、文本、语音这类非结构化数据;而决策树擅长的是\"一行一条记录,一列一个特征\"的结构化数据。两者互补,不是替代关系。
小结
- • 决策树模仿人类决策过程,直观可解释,是机器学习入门的绝佳起点
- • 单棵树容易过拟合,随机森林通过集成多棵树来解决这个问题
- • 随机森林在表格数据场景中表现优异,至今仍是工业界主力算法
- • 理解决策树,是理解更复杂的集成方法(XGBoost、LightGBM)的基础
下次当你面对一个分类或预测问题时,不妨先种一棵树试试——它可能比你想象的更聪明。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论