Как нарисовать дерево решений в 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
Мы видим, что дерево имеет шесть конечных узлов.
Каждый конечный узел отображает прогнозируемую зарплату игроков в этом узле, а также количество наблюдений из исходного набора данных, принадлежащих этому рейтингу.
Например, мы видим, что в исходном наборе данных было 90 игроков со стажем менее 4,5 лет, а их средняя зарплата составляла 225,83 тысячи долларов .
Мы также можем использовать дерево, чтобы спрогнозировать зарплату конкретного игрока на основе его многолетнего опыта и средних хоум-ранов.
Например, игрок, имеющий 7 лет опыта и в среднем 4 хоумрана, имеет ожидаемую зарплату в размере 502,81 тыс. долларов .
Это одно из преимуществ использования дерева решений: мы можем легко визуализировать и интерпретировать результаты.
Дополнительные ресурсы
В следующих руководствах представлена дополнительная информация о деревьях решений:
Введение в деревья классификации и регрессии
Дерево решений и случайные леса: в чем разница?
Как подогнать деревья классификации и регрессии в R