R - Losowy Las

W podejściu lasów losowych tworzonych jest wiele drzew decyzyjnych. Każda obserwacja jest wprowadzana do każdego drzewa decyzyjnego. Najpowszechniejszy wynik każdej obserwacji jest używany jako wynik końcowy. Nowa obserwacja jest wprowadzana do wszystkich drzew i uzyskuje większość głosów dla każdego modelu klasyfikacji.

Oszacowano błąd dla przypadków, które nie zostały wykorzystane podczas budowania drzewa. To się nazywaOOB (Out-of-bag) oszacowanie błędu, które podaje się w procentach.

Pakiet R. "randomForest" służy do tworzenia losowych lasów.

Zainstaluj pakiet R.

Użyj poniższego polecenia w konsoli R, aby zainstalować pakiet. Musisz także zainstalować pakiety zależne, jeśli takie istnieją.

install.packages("randomForest)

Pakiet „randomForest” ma funkcję randomForest() który służy do tworzenia i analizowania losowych lasów.

Składnia

Podstawowa składnia tworzenia losowego lasu w R to -

randomForest(formula, data)

Poniżej znajduje się opis użytych parametrów -

  • formula to wzór opisujący predyktor i zmienne odpowiedzi.

  • data to nazwa używanego zestawu danych.

Dane wejściowe

Do stworzenia drzewa decyzyjnego użyjemy wbudowanego zestawu danych języka R o nazwie readingSkills. Opisuje wynik czyjegoś czytania Umiejętności, jeśli znamy zmienne „wiek”, „rozmiar buta”, „wynik” i czy dana osoba jest native speakerem.

Oto przykładowe dane.

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

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

Kiedy wykonujemy powyższy kod, daje on następujący wynik i wykres -

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
...............................
...............................

Przykład

Będziemy używać randomForest() funkcję, aby utworzyć drzewo decyzyjne i zobaczyć jego wykres.

# 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))

Kiedy wykonujemy powyższy kod, daje on następujący wynik -

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

Wniosek

Z przedstawionego powyżej losowego lasu możemy wywnioskować, że rozmiar buta i punktacja są ważnymi czynnikami decydującymi o tym, czy ktoś jest native speakerem, czy nie. Również model ma tylko 1% błąd, co oznacza, że ​​możemy przewidywać z 99% dokładnością.