估计分类概率

决策树还可以估计某个实例属于特定类k的概率:首先遍历树来查找此实例的叶节点,然后它返回此节点中类k的训练实例的比例。

例如,假设你发现了一个花瓣长 5 厘米,宽 1.5 厘米的花朵。相应的叶节点是深度为 2 的左节点,因此决策树应该输出以下概率:Iris-Setosa 为 0%(0/54),Iris-Versicolor 为 90.7%(49/54),Iris-Virginica 为 9.3%(5/54)。当然,如果你要求它预测具体的类,它应该输出 Iris-Versicolor(类别 1),因为它具有最高的概率。我们了测试一下:

  1. >>> tree_clf.predict_proba([[5, 1.5]])
  2. array([[ 0. , 0.90740741, 0.09259259]])
  3. >>> tree_clf.predict([[5, 1.5]])
  4. array([1])

完美!请注意,估计概率在任何地方都是相同的, 除了图 6-2 中右下角的矩形部分,例如花瓣长 6 厘米和宽 1.5 厘米(尽管在这种情况下它看起来很可能是 Iris-Virginica)。