Как нарисовать дерево решений в r (с примером)


В машинном обучении дерево решений — это тип модели, которая использует набор переменных-предикторов для создания дерева решений, прогнозирующего значение переменной ответа.

Самый простой способ построить дерево решений в R — использовать функцию prp() из пакета rpart.plot .

В следующем примере показано, как использовать эту функцию на практике.

Пример: рисование дерева решений в R

В этом примере мы будем использовать набор данных Hitters из пакета ISLR , который содержит различную информацию о 263 профессиональных бейсболистах.

Мы будем использовать этот набор данных для построения дерева регрессии, которое использует хоум-раны и сыгранные годы для прогнозирования зарплаты конкретного игрока.

Следующий код показывает, как подогнать это дерево регрессии и как использовать функцию prp() для его рисования:

 library (ISLR)
library (rpart)
library (rpart.plot)

#build the initial decision tree
tree <- rpart(Salary ~ Years + HmRun, data=Hitters, control=rpart. control (cp= .0001 ))

#identify best cp value to use
best <- tree$cptable[which. min (tree$cptable[," xerror "])," CP "]

#produce a pruned tree based on the best cp value
pruned_tree <- prune (tree, cp=best)

#plot the pruned tree
prp(pruned_tree)

Обратите внимание, что мы также можем настроить внешний вид дерева решений, используя аргументы faclen , extra , roundint и digits в функции prp ():

 #plot decision tree using custom arguments
prp(pruned_tree,
    faclen= 0 , #use full names for factor labels
    extra= 1 , #display number of observations for each terminal node
    roundint= F , #don't round to integers in output
    digits= 5 ) #display 5 decimal places in output 

нарисовать дерево решений в R

Мы видим, что дерево имеет шесть конечных узлов.

Каждый конечный узел отображает прогнозируемую зарплату игроков в этом узле, а также количество наблюдений из исходного набора данных, принадлежащих этому рейтингу.

Например, мы видим, что в исходном наборе данных было 90 игроков со стажем менее 4,5 лет, а их средняя зарплата составляла 225,83 тысячи долларов .

Интерпретация дерева регрессии в R

Мы также можем использовать дерево, чтобы спрогнозировать зарплату конкретного игрока на основе его многолетнего опыта и средних хоум-ранов.

Например, игрок, имеющий 7 лет опыта и в среднем 4 хоумрана, имеет ожидаемую зарплату в размере 502,81 тыс. долларов .

Пример дерева регрессии в R

Это одно из преимуществ использования дерева решений: мы можем легко визуализировать и интерпретировать результаты.

Дополнительные ресурсы

В следующих руководствах представлена дополнительная информация о деревьях решений:

Введение в деревья классификации и регрессии
Дерево решений и случайные леса: в чем разница?
Как подогнать деревья классификации и регрессии в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *