
第 11 周的学习计划太棒了如果说线性回归和逻辑回归是 AI 界的“开山斧”那么树模型绝对是表格类数据Tabular Data打比赛的“大杀器”。针对你本周的核心目标我为你梳理了决策树与随机森林的底层逻辑、实战代码以及最关键的调参思路 核心原理速览决策树 (Decision Tree)它的本质是一系列“如果...就...”的逻辑判断。通过寻找最优特征进行节点分裂使得子集的数据尽可能纯净。它最大的优势是直观、可解释性强但缺点是容易对训练集中的噪声“死记硬背”导致过拟合。随机森林 (Random Forest)为了克服单棵树的局限随机森林采用了“集体智慧”集成学习。它通过有放回的抽样Bootstrap和随机选择部分特征构建出成百上千棵各不相同的决策树。最终结果由所有树投票或取平均得出这极大地提升了模型的稳定性和抗过拟合能力。 实操一泰坦尼克号生存预测二分类任务在这个经典的分类场景中我们将根据乘客的年龄、舱位、性别等特征预测其是否存活0或1。python1from sklearn.model_selection import train_test_split 2from sklearn.tree import DecisionTreeClassifier 3from sklearn.ensemble import RandomForestClassifier 4from sklearn.metrics import accuracy_score 5 6# X: 乘客特征(如Pclass, Sex, Age等), y: 是否存活(0或1) 7X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42) 8 9# --- 1. 单棵决策树 --- 10dtree DecisionTreeClassifier(random_state42) 11dtree.fit(X_train, y_train) 12dt_pred dtree.predict(X_test) 13print(f决策树准确率: {accuracy_score(y_test, dt_pred):.2%}) 14 15# --- 2. 随机森林 --- 16rf RandomForestClassifier(n_estimators100, random_state42) 17rf.fit(X_train, y_train) 18rf_pred rf.predict(X_test) 19print(f随机森林准确率: {accuracy_score(y_test, rf_pred):.2%}) 实操二信用卡欺诈检测不平衡分类任务在欺诈检测中正常交易占绝大多数欺诈交易极少。随机森林在处理这种高维和不平衡数据时表现尤为出色且能自动评估哪些特征如交易金额、异地刷卡等最重要。你可以直接复用上面的RandomForestClassifier代码替换数据集即可。 进阶挑战如何亲自体会“调参”调参是机器学习工程师的核心基本功。在你的实操中建议重点观察以下参数对训练集分数和测试集分数的影响控制树的复杂度防过拟合max_depth最大深度尝试将深度设为 3、5、10 和不限制。你会发现不限制深度时训练集分数可能高达 99%但测试集分数却很低典型的过拟合适当限制深度后测试集分数反而会上升。min_samples_leaf叶节点最小样本数增加这个值可以防止树去迎合极个别的异常数据点。控制森林的规模提稳定性n_estimators树的数量通常数量越多模型越稳定但训练时间也会变长。你可以尝试设置为 10、100、500观察测试集分数的收敛情况。控制特征的随机性max_features决定每次分裂时最多考虑多少个特征。降低这个值可以增加每棵树之间的多样性进一步降低方差。 学习小贴士在调参过程中不要只盯着测试集的绝对分数看。一定要对比训练集与测试集分数的差距。当两者都很高且差距很小时恭喜你找到了一个泛化能力极强的模型祝你本周“砍树”顺利享受调参带来的顿悟时刻