R - Foresta casuale
Nell'approccio random forest, viene creato un gran numero di alberi decisionali. Ogni osservazione viene inserita in ogni albero decisionale. Il risultato più comune per ciascuna osservazione viene utilizzato come output finale. Una nuova osservazione viene inserita in tutti gli alberi e con un voto a maggioranza per ogni modello di classificazione.
Viene effettuata una stima degli errori per i casi che non sono stati utilizzati durante la costruzione dell'albero. Questo è chiamato un fileOOB (Out-of-bag) stima dell'errore che viene indicata come percentuale.
Il pacchetto R. "randomForest" viene utilizzato per creare foreste casuali.
Installa il pacchetto R.
Utilizzare il comando seguente nella console R per installare il pacchetto. È inoltre necessario installare i pacchetti dipendenti, se presenti.
install.packages("randomForest)
Il pacchetto "randomForest" ha la funzione randomForest() che viene utilizzato per creare e analizzare foreste casuali.
Sintassi
La sintassi di base per creare una foresta casuale in R è:
randomForest(formula, data)
Di seguito la descrizione dei parametri utilizzati:
formula è una formula che descrive il predittore e le variabili di risposta.
data è il nome del set di dati utilizzato.
Dati in ingresso
Useremo il set di dati R in-built denominato readingSkills per creare un albero decisionale. Descrive il punteggio delle capacità di lettura di qualcuno se conosciamo le variabili "età", "taglia", "punteggio" e se la persona è madrelingua.
Ecco i dati di esempio.
# Load the party package. It will automatically load other
# required packages.
library(party)
# Print some records from data set readingSkills.
print(head(readingSkills))
Quando eseguiamo il codice sopra, produce il seguente risultato e grafico:
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
...............................
...............................
Esempio
Useremo il file randomForest() funzione per creare l'albero decisionale e vedere il suo grafico.
# 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))
Quando eseguiamo il codice sopra, produce il seguente risultato:
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
Conclusione
Dalla foresta casuale mostrata sopra possiamo concludere che le dimensioni delle scarpe e il punteggio sono i fattori importanti per decidere se qualcuno è un madrelingua o meno. Inoltre il modello ha solo l'1% di errore, il che significa che possiamo prevedere con una precisione del 99%.