什么是使用R的决策树中的y

时间:2016-08-09 04:30:02

标签: r decision-tree

我在R中使用虹膜数据。

我写了这样的代码:

.gradle

并且,结果看到我这样: enter image description here

这是什么意思?

y =(1,0,0)和y =(0,0.939,0.061),y =(0,0.031,0.969)

2 个答案:

答案 0 :(得分:1)

如果你在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%是Setosa。

另一个例子:右分裂(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行的训练集,而我正在使用整个数据集。这可能是造成差异的原因。如果我错了,请纠正我。

答案 1 :(得分:1)

对于位于每个叶节点中的实例,这些是目标变量Species的三个类中的每一个的概率。

因此,例如,在您的中间叶片中,Species == setosa的概率为0,Species == versicolor的概率为0.939,Species == virginica的概率为0.061。