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.