# Gerekli kütüphaneleri yükle
library(randomForest)
library(ggplot2)
set.seed(123)
<- mtcars data
R ile Rastgele Orman Regresyonu
Veriyi eğitim ve test setlerine ayır (Train/test split)
<- sample(1:nrow(data), 0.7 * nrow(data))
train_indices <- data[train_indices, ]
train_data <- data[-train_indices, ] test_data
Rastgele Orman modeli eğitimi ve tahmin yapılması
<- randomForest(mpg ~ ., data = train_data, ntree = 500)
rf_model
<- predict(rf_model, newdata = test_data) predictions
RMSE hesapla
RMSE: Root mean square error (Kök Ortalama Kare Hatası)
<- sqrt(mean((test_data$mpg - predictions)^2))
rmse cat("Kök Ortalama Kare Hatası:", rmse, "\n")
Kök Ortalama Kare Hatası: 2.00452
Gerçek ve tahmin edilen değerler
ggplot(data.frame(actual = test_data$mpg, predicted = predictions), aes(x = actual, y = predicted)) +
geom_point(alpha = 0.5) +
geom_abline(intercept = 0, slope = 1, color = "red", linetype = "dashed") +
labs(x = "Gerçek Değerler", y = "Tahmin Edilen Değerler", title = "Rastgele Orman Regresyonu: Gerçek ve Tahmin Edilen")
Özellik önemi
<- importance(rf_model)
importance print(importance)
IncNodePurity
cyl 152.64821
disp 224.33387
hp 158.42647
drat 43.37372
wt 178.44424
qsec 34.05620
vs 25.67666
am 19.73485
gear 10.54314
carb 21.62506
Özellik önemi - figür
<- data.frame(feature = rownames(importance), importance = importance[, 1])
importance_df ggplot(importance_df, aes(x = reorder(feature, importance), y = importance)) +
geom_bar(stat = "identity") +
coord_flip() +
labs(x = "Özellikler", y = "Önem", title = "Rastgele Orman: Özellik Önemi")
Alternatif kaynak: http s://hackernoon.com/random-forest-regression-in-r-code-and-interpretation