Random Forest Regresyon: R Örnek Uygulaması
Merhaba. Bu yazımızda serinin 14’üncü yazısında Python ile yaptığımız Random Forest Regresyon uygulamasını R ile yapacağız. Çalışma diznini ayarlayıp veri setini indirelim. Veriyi buradan indirebilirsiniz:
setwd('Sizin_Calisma_Dizniniz') dataset = read.csv('PozisyonSeviyeMaas.csv')
Burada randomForest paketini kullanacağız. Yüklü değil ise indirip yükleyelim:
install.packages('randomForest') library(randomForest)
Veri setinden Pozisyon açıklamasını çıkaralım:
dataset = dataset[2:3]
Modelimizi oluşturalım:
set.seed(1234) regressor = randomForest(x = dataset[1], y = dataset\$Seviye, ntree = 10)
İlk parametremiz bağımsız değişken dataframe, ikinci parametre bağımlı değişken vektör (bu yüzden dolar ile kullandık), üçüncü parametre de kullanılacak ağaç sayısı. Grafiğimizi Çizelim:
library(ggplot2) x_grid = seq(min(dataset\$Seviye), max(dataset\$Seviye), 0.01) ggplot() + geom_point(aes(x = dataset\$Seviye, y = dataset\$Maas), colour = 'red') + geom_line(aes(x = x_grid, y = predict(regressor, newdata = data.frame(Seviye = x_grid))), colour = 'blue') + ggtitle('Random Forest Regresyon') + xlab('Seviye') + ylab('Maas')
Evet grafikten de gördüğümüz gibi modelin veriyle uyum sağlamış ve belirli aralıklara bölünmüş durumda. Bir tahmin yapalım bakalım ne sonuç üretecek?
y_pred = predict(regressor, data.frame(Seviye = 6.5)) y_pred
Sonuç: 141733.3. Çok iyi bir sonuç değil. Ağaç sayısını 100 yapıp tekrar deneyelim. Grafik:
Biraz daha iyi görünüyor. Tahmin yapalım tekrar. Sonuç: 166281.7 gibi daha iyi bir değer.