Support Vector Regression(SVR): R ile Uygulama

Merhaba. Bu yazımızda serinin 11’inci yazısında Python ile yaptığımız SVR 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 e1071 paketini kullanacağız. Yüklü değil ise indirip yükleyelim:

install.packages('e1071')
library(e1071)

Veri setinden Pozisyon açıklamasını çıkaralım:

dataset = dataset[2:3]

Modelimizi oluşturalım:

regressor = svm(formula = Maas ~ ., data = dataset, type = 'eps-regression')

İlk parametremiz regresyon eşitliği, ikinci parametre kullanılacak veri seti, üçüncü parametre ise regresyon tipi. Support Vector Machine algoritması sınıflandırma için de kullanıldığından burada regresyon türünü eps-regression seçiyoruz. Bir nevi SVR.  Modelimizi oluşturduk ve veri seti (dataset) ile eğittik. Şimdi bir tahmin yapalım:

y_pred = predict(regressor, data.frame(Seviye = 6.5))
y_pred

Sonuç: 177861.1  gibi iyi bir tahmin. Grafiğini de çizelim. Bakalım sonuç tesadüfen mi böyle iyi olmuş? Grafik için yine meşhur ggplot2 paketini kullanıyoruz.

library(ggplot2)
ggplot() +
   geom_point(aes(x = dataset\$Seviye, y = dataset\$Maas),
   colour = 'red') +
   geom_line(aes(x = dataset\$Seviye, y = predict(regressor, newdata = dataset)),
   colour = 'blue') +
   ggtitle('SVR Modeli') +
   xlab('Seviye') +
   ylab('Maas')

Evet grafikten de gördüğümüz gibi model veriyi iyi temsil ediyor görünüyor. Burada son değer yine aykırı kabul edilmiş ve ona uyum sağlama ihtiyacı hissedilmemiş. Ayrıca R ile SVR yaparken feature scaling yapmadığımıza dikkat edelim. Python bu konuda epey uğraştırmıştı bizi.

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