Я установил следующее дерево
library(rpart)
treeResult = rpart(Species~., data=iris[1:120,], method="class")
и пытаюсь вычислить желтое число ниже (0,285714) вручную.
Я думал, что это должно быть относительное уменьшение примеси Джини, если дерево переходит от 0 к 1 узлу:
pNode1 = c(50,50,20)/120
pNode2 = c(50,0,0)/50
pNode3 = c(0,50,20)/70
# The counts used to calculate these pNodes are taken from summary(treeResult).
impurityNode1 = sum(pNode1*(1-pNode1))
impurityNode2 = sum(pNode2*(1-pNode2))
impurityNode3 = sum(pNode3*(1-pNode3))
relativeError = (50/120*impurityNode2+70/120*impurityNode3) / impurityNode1
Однако это дает 0,3809524 вместо 0,285714.