机器学习--决策树2

发布于:2025-08-20 ⋅ 阅读:(18) ⋅ 点赞:(0)

目录

第一代裁判:ID3 与信息增益的 “偏爱”

第二代裁判:C4.5 用 “增益率” 找平衡

第三代裁判:CART 的 “基尼指数” 新思路

遇到连续值?先 “砍几刀” 再说

给决策树 “减肥”:剪枝的学问

动手试试:决策树的 “调参” 小技巧

最后想说


决策树的 “成长记”:从分错到分巧的进化

    上次琢磨决策树时,总觉得 “选哪个特征当节点” 像猜谜 —— 直到今天才算摸到了门道。原来决策树也在 “进化”,从最初的 ID3 到后来的 C4.5、CART,每一步都在解决上一代的小麻烦。这就像给分类问题找裁判,一代比一代更懂 “公平” 和 “高效”。

第一代裁判:ID3 与信息增益的 “偏爱”

    最早的决策树算法 ID3,选节点靠的是 “信息增益”—— 哪个特征能让数据的 “混乱度”(熵)降得最多,就选哪个。这思路挺直接,比如用 “天气” 划分打球数据时,信息增益最大,那就让 “天气” 当根节点。

    但 ID3 有个小毛病:特别喜欢 “选项多” 的特征。比如给数据加个 “编号” 特征(1 到 7 号),每个编号对应唯一结果,用它划分时信息增益肯定最大 —— 但这显然没意义,因为它根本没抓住规律,纯属 “抬杠式划分”。就像裁判偏爱话多的选手,哪怕说的都是废话。

第二代裁判:C4.5 用 “增益率” 找平衡

    为了治 ID3 的 “偏爱”,C4.5 算法站了出来。它不直接用信息增益,而是用 “信息增益率”—— 信息增益除以这个特征自身的熵。

    这么一来,“选项多” 的特征(比如编号)自身熵很高,就算信息增益大,增益率也可能变低,从而被 “劝退”。比如用 “天气” 和 “编号” 比,天气的自身熵低,信息增益率反而更突出,这就避免了 “抬杠式划分”。相当于裁判学会了 “听质量” 而非 “听数量”,更公平了。

第三代裁判:CART 的 “基尼指数” 新思路

    后来又出现了 CART 算法,它换了个衡量标准 ——“基尼指数”。这东西说的是:从数据里随机抽两个样本,类别不一样的概率。概率越低,说明数据越纯(比如全是 “去打球” 或全是 “不去”)。

    和熵相比,基尼指数计算更简单(不用算对数),但效果类似:纯度越高,基尼指数越小。CART 用它来选节点,相当于裁判换了把更轻便的 “尺子”,效率更高了。

遇到连续值?先 “砍几刀” 再说

    现实中的数据不全是 “晴天 / 阴天” 这种离散值,更多是 “温度 30 度”“收入 125K” 这种连续数。决策树怎么处理呢?答案是:把连续值变成 “选择题”。

    比如 “收入” 这个特征,有 60K、70K、85K… 我们可以用 “贪婪算法” 找分界点:先把所有值排序,然后在每两个相邻值中间 “砍一刀”(比如 60 和 70 之间砍成 “≤65” 和 “>65”),算每个分界点的信息增益(或基尼指数),选最好的那个。这其实就是把连续值 “离散化”,让决策树能看懂。

给决策树 “减肥”:剪枝的学问

    决策树有个坏毛病:学太细容易 “钻牛角尖”。比如把训练数据里的每个小例外都当成规律,结果换个新数据就错得离谱(过拟合)。这时候就得 “剪枝”—— 给树瘦瘦身。

预剪枝是 “边长边剪”:比如限制树的最大深度(最多问 5 个问题就得出结论),或者规定叶子节点至少得有 10 个样本才继续分。就像家长提前说 “不许挑食”,从一开始就避免坏习惯。

后剪枝是 “长完再剪”:先让树长得枝繁叶茂,再回头看哪些分支是 “多余的”。判断标准是 “损失函数”:自身的基尼指数(或熵)加上 α 乘以叶子节点数。α 越大,越鼓励少用叶子(简化树);α 越小,越允许复杂但精准的划分。就像考完试回头改错题,把没必要的步骤删掉。

    比如有个分支,剪枝前在验证集上正确率 57%,剪枝后反而升到 71%—— 显然这分支是 “画蛇添足”,该剪!

动手试试:决策树的 “调参” 小技巧

    实际用决策树时,代码里有几个关键参数得留意:

  • criterion:选 “gini”(基尼指数)还是 “entropy”(信息熵),看数据特点;

  • max_depth:树别太深,5-20 层通常够了,太深容易过拟合;

  • splitter:“best” 是找最优切分点,“random” 是随机找,后者快但可能稍欠精准。

    比如用决策树预测泰坦尼克号幸存者时,调对这些参数,就能让模型更准 —— 毕竟不是越复杂的树,越能看透 “生存规律”。

最后想说

    决策树的进化,其实是人类在教机器 “怎么更聪明地分类”。从 ID3 的直接,到 C4.5 的平衡,再到 CART 的高效,每一步都在逼近 “简单又准确” 的目标。就像我们自己做决策,既要抓住重点,又不能钻牛角尖 —— 原来机器学习和生活智慧,道理相通。

    下次再用决策树时,或许会忍不住想:这一步划分,是 ID3 会喜欢,还是 C4.5 更认可?这种 “与算法对话” 的感觉,还挺奇妙的。


网站公告

今日签到

点亮在社区的每一天
去签到