Polinom Regresyon: R ile Uygulama

Merhaba. Bu yazımızda serinin 8 ve 9’uncu yazısında Python ile yaptığımız Polinom Lineer 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')

Veri setimizi görelim:

View(dataset)

 

Veriyi Anlamak

Yukarıdaki tabloda niteliklerimizi görüyoruz:

Pozisyon: İş Ünvanı. Nitelik türü kategorik.

Seviye:  İş ünvanlarını birbiri arasında maaş, astlık-üstlük vb. sıralayan  nitelik. Nitelik türü nümerik.

Maas: Her bir pozisyondaki personelin yıllık maaşı. Nitelik türü nümerik.

Bu veri seti ve kuracağımız polinom model ile çözmeye çalışacağımız problem seviyesine göre bir personelin maaşını tahmin etmek olacak. Böylelikle y hedef değişkenimizin Maas, bağımsız değişken Seviye olduğunu çıkarabiliyoruz. Pozisyon seviye ile yakından ilgili bir nitelik ve seviyenin adlandırması gibi bir fonksiyonu olduğu için bu niteliği veri setinden çıkarıyoruz.

Veri seti çok az bir kayıttan (10 adet) oluştuğu için eğitim ve test olarak ayırmıyoruz. Sütun olarak kategorik değişken Pozisyonu çıkarıyoruz. İlk sütun Poizsyon olduğu için sadece 3 ve 3’üncü indeksli sütunu almak yeterli olur.

dataset = dataset[2:3]

Polinom regresyonu daha iyi anlamak için lineer regresyonu da yapıp karşılaştırma yapacağız. Şimdi lineer regresyon modelini oluşturalım.

lin_reg = lm(formula = Maas ~ ., data = dataset)

Tildanın(~) sağındaki nokta veri setinde bağımlı değişken haricindeki tüm değişkenler demektir. Elbette bu modelde sadece bir bağımsız değişken var o da seviye. Lineer modelin özeti:

summary(lin_reg)

 

Şimdi polinom modeli kuralım. Polinom modelin lineerden farkı; lineer modelde bağımsız değişken olarak sadece pozisyonu almıştık. Polinom modelde ise bağımsız değişken olarak pozisyonun ikici, üçüncü derecesini de modele dahil edeceğiz. Daha yüksek dereceler aşırı öğrenmeye sebep olabileceğinden modeli daha genellenebilir bir seviyede tutacak dereceyi almak iyi olur (2-3). Polinom modeli kurmadan önce 2. ve 3. derece bağımsız değişkenlerimizi de veri setine ekleyelim:

dataset$Seviye2 = dataset$Seviye^2
dataset$Seviye3 = dataset$Seviye^3
View(dataset)

Yukarıdaki tabloda sağdaki iki yeni nitelik bizim ikinci ve üçüncü dereceden polinom bağımsız değişkenlerimizi oluşturdu. Şimdi lineer modeldeki kodların aynısını kullandığımızda polinom regresyon almış olacağız:

poly_reg = lm(formula = Maas ~ ., data = dataset)
summary(lin_reg)

 


Gördüğümüz gibi yeni ürettiğimiz polinom nitelikler de modele anlamlı bir şekilde dahil oldu. Ayrıca lineer modele kıyasla düzeltilmiş R2 bayağı yükseldi (0.62’den 0.97’ye).

Lineer Regresyon Grafiği

Farkı daha iyi anlamak için önce lineer model grafiğini çizelim:

library(ggplot2)
ggplot()+
 geom_point(aes(x = dataset$Seviye, y = dataset$Maas),
 colour = 'red')+
 geom_line(aes(x = dataset$Seviye, y = predict(lin_reg, newdata = dataset)),
 colour = 'blue')+
 ggtitle('Lineer Regresyon')+
 xlab('Seviye')+
 ylab('Maas')

 

Lineer model grafiği yukarıda görülmektedir. Kodlarda kırmızıya boyadığım yere mutlaka dikkat etmek gerekir. Çünkü burada regresyon çizgisini çizdiğimiz için eğittiğimiz modelde geçek verinin tahmin değerlerini parametre olarak göndermemiz gerekiyor. Grafikten gördüğümüz gibi lineer regresyon doğrusu veri seti ile çok fazla uyumlu değil. Şimdi polinom modelin grafiğini çizelim:

Polinom Regresyon Grafiği

ggplot()+
 geom_point(aes(x = dataset$Seviye, y = dataset$Maas),
 colour = 'red')+
 geom_line(aes(x = dataset$Seviye, y = predict(poly_reg, newdata = dataset)),
 colour = 'blue')+
 ggtitle('Polinom Regresyon')+
 xlab('Seviye')+
 ylab('Maas')

 


Grafikten gördüğümüz gibi polinom regresyon veriye daha fazla uyum sağladı. Şimdi 6.7 seviyesinde birinin maaşını tahmin edelim bakalım hangi model daha gerçeğe yakın sonuç verecek?
Lineer model ile tahmin:

predict(lin_reg, data.frame(Level = 6.5))
330378.8

Polinom model ile tahmin:

predict(poly_reg, data.frame(Level = 6.5,
+ Level2 = 6.5^2,
+ Level3 = 6.5^3,
+ Level4 = 6.5^4))
158862.5

Gerçek veri setinden 6. seviyenin 150.000, 7. seviyenin 200.000 TL’lik maaşa karşılık geldiğini biliyoruz. Seviye 6.5 ikisinin arasında bir yer. Sonuçlara baktığımızda polinom modelimiz lineer modele göre çok daha yüksek bir doğrulukta tahmin gerçekleştirdi.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Barkod Etiketi üretimi yapan firmaların işi ciddi bir iştir. Bu anlamda sizin de hangi firmayla çalışma yatığınız çok büyük önem taşır. Kullanım alanı sınırsızdır. Her alanda ve her sektörde bu etiketlere ihtiyaç duyulur. Etiket çeşitleri ve Barkod etiketleri, seri üretimle hazırlanmaktadır. Etiketler ahşap, plastik, metal ya da cam gibi ambalajlı ürünlerin üzerilerine ugulanır.
Mide botoksu midenin belirli yerlerine botoks maddesi enjekte etme suretiyle midedeki kasların çalışmasını sınırlandırmayı ve sayede midenin gıdaları sindirim sürecini yavaşlatarak buna bağlı olan açlık-tokluk hissi süresinin de uzatılmasını amaçlayan ameliyatsız kolay kilo verme tedavisidir. Botoks uygulanırken, midenin detaylı şekilde içerden görüntülenmesini sağlayan endoskopi uygulaması ile gerçekleştirilir. Bu sayede hastaya sadece gastroskpik uygulaması kadar bir rahatsızlık olur. Özellikle diyet programlarına ve düzenli egzersizlere uymakta zorlanan ve buna bağlı olarak da obeziteye yakalanan, bu yüzdende obezitenin sebep olduğu çeşitli sağlık sorunları olan kişiler için mide botoksu bir devrim niteliğindedir ve son yıllarda ülkemizde yaygın olarak kullanılmaktadır.
En güzel cami halısı dış avlusu olup bunun çevresi pencereli duvarlarla çevrilidir. Bu avulya 3 ü cephede olmak üzere, 8 kapıdan girilir. Şadırvan avlusu, 26 adet granit mermer ve porfir sütuna oturtulmuş, 30 kubbeyle çevrili geniş alandır. Mermer döşemeli bu geniş sahanın ortasında 6 mermer sütunlu şadırvan, sahanın azametini gösterir. Şadırvanın kemerleri, kabartma olarak Rumi geçmelerle ve köşebentleri, kabartma, lale ve karanfil motifleriyle bezelidir.
En güzel cami halısı dış avlusu olup bunun çevresi pencereli duvarlarla çevrilidir. Bu avulya 3 ü cephede olmak üzere, 8 kapıdan girilir. Şadırvan avlusu, 26 adet granit mermer ve porfir sütuna oturtulmuş, 30 kubbeyle çevrili geniş alandır. Mermer döşemeli bu geniş sahanın ortasında 6 mermer sütunlu şadırvan, sahanın azametini gösterir. Şadırvanın kemerleri, kabartma olarak Rumi geçmelerle ve köşebentleri, kabartma, lale ve karanfil motifleriyle bezelidir.
Termal Etiket Eco Termal etiket, yüzeyinde hami bir katman bulunmayan miktar çeşididir. Kumbara üzerine termal lamine edilmesi sonucunda oluşmaktadır. Kullanılan barkod yazıcının baş bölgesindeki ısı beraberlik birlikte termal sıvılaşma özelliği gösterir dahi bu şekilde Eco termal etiketin üzerine baskı alınır. Bu termal etiketlere yumruk termal olarak (ısıyla) yapılır ve yerde yüzden ribon kullanılmaz. Ribon kullanımı olmadığı için tahakküm maliyeti sıfıra yakındır.
Dijital Baskı ve baskı etiketi teknolojileri geliştikçe firmaların büyük ebatlı etiket ihtiyaçlarına da dijital çözümler sunulmaya başlamıştır. Böylece, birbirinden canlı renklerin ve kusursuz çizgilerin hakimiyetindeki büyük ebatlı dijital baskı etkileri; kurumsal firmaların reklam kampanyalarındaki en iddialı unsurlarına dönüşmüştür.