如果您查看 iris 数据集中的 Species(您的响应变量),您会发现它是一个具有 3 个级别的因子:
> unique(iris$Species)
[1] setosa versicolor virginica
Levels: setosa versicolor virginica
鉴于级别按上述顺序出现:setosa、versicolor、virginica,决策树的输出是每个级别的概率,并且该概率总和为 1。
要验证这一点,请查看树的左侧拆分。它在Petal.Length <= 1.9 处分裂。 Petal.Length <= 1.9时的物种分布是什么?
prop.table(table(iris[iris$Petal.Length <= 1.9,]$Species))
setosa versicolor virginica
1 0 0
在上面的代码中,我对Petal.Length <= 1.9 进行了子集化,然后查看物种的分布(因此prop.table(table(...)))。 100% 是濑户。
另一个示例:右拆分 (Petal.Length > 1.9) 和左拆分 (Petal.Width <= 1.6)。结果是:
prop.table(table(iris[iris$Petal.Length > 1.9 & iris$Petal.Width <= 1.6,]$Species))
setosa versicolor virginica
0.00000000 0.92307692 0.07692308
我这里的号码和你的不符。我相信你有一个 100 行的训练集,而我使用的是整个数据集。这可能是差异的原因。如果我错了,请纠正我。