
![]()
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.