You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

sklearn.tree.DecisionTreeClassifier的predict_proba()内部工作原理是什么?

决策树中predict_proba()的内部概率计算逻辑

决策树里的predict_proba()计算逻辑其实非常直观,完全基于训练后叶节点的样本分布:

  • 训练完成后,决策树的每个叶节点都会留存一批训练时被分到这里的样本,这些样本带有各自的类别标签
  • 当输入新样本时,决策树会通过节点的判断条件,把样本最终划分到某一个叶节点中
  • 针对这个目标叶节点,每个类别的预测概率就是该类别在叶节点中的样本数量 ÷ 叶节点的总样本数量

举个实际例子:假设训练了一个二分类决策树,某个叶节点里总共有8个训练样本,其中5个属于类别0,3个属于类别1。当新样本被分到这个节点时,predict_proba()会输出[0.625, 0.375],分别对应类别0和类别1的概率。

补充两个细节:

  • 部分实现(比如sklearn的决策树模块)会加入极轻微的平滑处理,避免出现某类样本数为0导致概率为0的极端情况。公式会调整为:(该类别样本数 + 平滑系数) / (总样本数 + 平滑系数 × 类别总数),默认的平滑系数很小(比如1e-10),对正常场景的结果几乎没有影响
  • 多分类场景下逻辑完全一致:每个类别的概率都是该类别在目标叶节点中的样本占比

内容的提问来源于stack exchange,提问作者ybdesire

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 13:45:29