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.

Yazar Hakkında
Toplam 174 yazı
Erkan ŞİRİN
Erkan ŞİRİN
10 yılı aşkın süredir yurtiçi ve yurtdışında sektörde büyük veri mühendisliği, platform yönetimi ve makine öğrenmesi ile ilgili çalışmalar yürütmekte ve aynı zamanda birçok kurum ve şirkete danışmanlık ve eğitimler vermektedir. Çalışma alanları: Data ve MLOps platformları, gerçek zamanlı veri işleme, değişen veriyi yakalama (CDC) ve Lakehouse.
Yorumlar (Yorum yapılmamış)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

×

Bir Şeyler Ara