При подходе со случайным лесом создается большое количество деревьев решений. Каждое наблюдение подается в каждое дерево решений. Наиболее общий результат для каждого наблюдения используется в качестве конечного результата. Новое наблюдение подается во все деревья и получает большинство голосов для каждой модели классификации.
Оценка ошибок сделана для случаев, которые не использовались при построении дерева. Это называется оценкой ошибки 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%.