R - Rastgele Orman

Rastgele orman yaklaşımında çok sayıda karar ağacı oluşturulur. Her gözlem, her karar ağacına beslenir. Her gözlem için en yaygın sonuç, nihai çıktı olarak kullanılır. Tüm ağaçlara yeni bir gözlem verilir ve her bir sınıflandırma modeli için çoğunluk oyu alınır.

Ağaç oluşturulurken kullanılmayan durumlar için hata tahmini yapılır. Buna birOOB (Out-of-bag) yüzde olarak belirtilen hata tahmini.

R paketi "randomForest" rastgele ormanlar oluşturmak için kullanılır.

R Paketini Kurun

Paketi yüklemek için R konsolunda aşağıdaki komutu kullanın. Ayrıca varsa bağımlı paketleri de kurmanız gerekir.

install.packages("randomForest)

"RandomForest" paketi şu işleve sahiptir: randomForest() rastgele ormanlar oluşturmak ve analiz etmek için kullanılır.

Sözdizimi

R'de rastgele bir orman oluşturmak için temel sözdizimi -

randomForest(formula, data)

Aşağıda kullanılan parametrelerin açıklaması verilmiştir -

  • formula yordayıcı ve yanıt değişkenlerini açıklayan bir formüldür.

  • data kullanılan veri kümesinin adıdır.

Giriş Verileri

Bir karar ağacı oluşturmak için ReadingSkills adlı dahili R veri setini kullanacağız. "Yaş", "ayakkabı boyu", "puan" değişkenlerini ve kişinin anadili olup olmadığını biliyorsak, birinin okuma becerilerinin puanını açıklar.

İşte örnek veriler.

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

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

Yukarıdaki kodu çalıştırdığımızda, aşağıdaki sonucu ve grafiği üretir -

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

Misal

Kullanacağız randomForest() Karar ağacını oluşturmak ve grafiğini görmek için işlev.

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

Yukarıdaki kodu çalıştırdığımızda şu sonucu verir -

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

Sonuç

Yukarıda gösterilen rastgele ormandan, ayakkabı boyutunun ve puanın, bir kişinin anadili olup olmadığına karar veren önemli faktörler olduğu sonucuna varabiliriz. Ayrıca modelde sadece% 1 hata var, bu da% 99 doğrulukla tahmin edebileceğimiz anlamına geliyor.