Как получить проценты от дерева решений для каждого узла

Как я могу создать таблицу, которая включает проценты для каждого узла на графике ниже?

library(rpart)
library(rattle)
library(rpart.plot)
library(RColorBrewer)

fit <- rpart(Species ~ ., data=iris, method="class")
fancyRpartPlot(fit)

Это приводит к этому сюжету:

Я хотел бы вывести таблицу с видом в качестве первого столбца и связанный процент в каждом узле во втором столбце. Вторая итерация таблицы исключает первый узел (100%), а также удаляет дубликаты, сохраняя строку, содержащую более высокий процент.

После получения документации "rpart" я все еще не могу понять, как создать эту таблицу. Пожалуйста, дай мне знать, что ты думаешь.

Спасибо за ваше время.

1 ответ

Где элемент rpart-объекта является прогнозируемым классом для конечных узлов. Вы можете получить это в таблице:

> iris$where <- fit$where
> with(iris, table(Species, where))
 where
Species 2 4 5
 setosa 50 0 0
 versicolor 0 49 1
 virginica 0 5 45

Я предполагаю, что вы хотите, чтобы суммы столбцов делились на общий счет?

> 100*colSums(with(iris, table(Species, where)) )/150
 2 4 5 
33.33333 36.00000 30.66667

licensed under cc by-sa 3.0 with attribution.