Учебники

R — Случайный Лес

При подходе со случайным лесом создается большое количество деревьев решений. Каждое наблюдение подается в каждое дерево решений. Наиболее общий результат для каждого наблюдения используется в качестве конечного результата. Новое наблюдение подается во все деревья и получает большинство голосов для каждой модели классификации.

Оценка ошибок сделана для случаев, которые не использовались при построении дерева. Это называется оценкой ошибки OOB (Out-of-bag), которая указывается в процентах.

Пакет R «randomForest» используется для создания случайных лесов.

Установить пакет R

Используйте приведенную ниже команду в консоли R для установки пакета. Вы также должны установить зависимые пакеты, если таковые имеются.

install.packages("randomForest)

Пакет randomForest имеет функцию randomForest (), которая используется для создания и анализа случайных лесов.

Синтаксис

Основной синтаксис для создания случайного леса в R —

randomForest(formula, data)

Ниже приведено описание используемых параметров:

  • формула — это формула, описывающая предиктор и переменные ответа.

  • data — имя используемого набора данных.

формула — это формула, описывающая предиктор и переменные ответа.

data — имя используемого набора данных.

Входные данные

Мы будем использовать встроенный набор данных R с именем readingSkills для создания дерева решений. Он описывает оценку чьего-либо навыка чтения, если мы знаем переменные «возраст», «размер обуви», «оценка» и то, является ли человек носителем языка.

Вот пример данных.

# Load the party package. It will automatically load other
# required packages.
library(party)

# Print some records from data set readingSkills.
print(head(readingSkills))

Когда мы выполняем приведенный выше код, он дает следующий результат и диаграмму —

  nativeSpeaker   age   shoeSize      score
1           yes     5   24.83189   32.29385
2           yes     6   25.95238   36.63105
3            no    11   30.42170   49.60593
4           yes     7   28.66450   40.28456
5           yes    11   31.88207   55.46085
6           yes    10   30.07843   52.83124
Loading required package: methods
Loading required package: grid
...............................
...............................

пример

Мы будем использовать функцию randomForest (), чтобы создать дерево решений и увидеть его график.

# Load the party package. It will automatically load other
# required packages.
library(party)
library(randomForest)

# Create the forest.
output.forest <- randomForest(nativeSpeaker ~ age + shoeSize + score, 
           data = readingSkills)

# View the forest results.
print(output.forest) 

# Importance of each predictor.
print(importance(fit,type = 2)) 

Когда мы выполняем приведенный выше код, он дает следующий результат —

Call:
 randomForest(formula = nativeSpeaker ~ age + shoeSize + score,     
                 data = readingSkills)
               Type of random forest: classification
                     Number of trees: 500
No. of variables tried at each split: 1

        OOB estimate of  error rate: 1%
Confusion matrix:
    no yes class.error
no  99   1        0.01
yes  1  99        0.01
         MeanDecreaseGini
age              13.95406
shoeSize         18.91006
score            56.73051

Заключение

Из приведенного выше случайного леса мы можем сделать вывод, что размер обуви и оценка являются важными факторами, определяющими, является ли кто-то носителем языка или нет. Также модель имеет только 1% погрешности, что означает, что мы можем прогнозировать с точностью 99%.