İşteBuDoktor Logo İndir

Lineer Regresyon Uygulamaları: Python ile Basit Tahmin Modelleri Oluşturma

Lineer Regresyon Uygulamaları: Python ile Basit Tahmin Modelleri Oluşturma

Veri bilimi ve makine öğrenimi dünyasına adım atan herkesin karşılaşacağı temel algoritmalardan biri hiç şüphesiz Lineer Regresyon'dur. Bu güçlü ve anlaşılması kolay istatistiksel model, iki veya daha fazla değişken arasındaki doğrusal ilişkiyi anlamak ve gelecekteki değerleri tahmin etmek için kullanılır. Özellikle Python'ın zengin kütüphaneleri sayesinde, Lineer Regresyon uygulamaları hiç olmadığı kadar erişilebilir ve pratiktir. Bu makalede, Python ile basit tahmin modelleri oluşturma sürecini adım adım ele alacak, veri hazırlığından modelin eğitilmesine ve değerlendirilmesine kadar tüm aşamaları somut örneklerle inceleyeceğiz. Amacımız, hem teorik temelleri pekiştirmek hem de pratik uygulamalarla Lineer Regresyon'un gücünü sizlere göstermektir.

Lineer Regresyon Nedir? Temel Kavramlara Giriş

Lineer Regresyon, bağımlı bir değişken (tahmin etmek istediğimiz sonuç) ile bir veya daha fazla bağımsız değişken (sonucu etkileyen faktörler) arasındaki doğrusal ilişkiyi modelleyen bir istatistiksel yöntemdir. En basit haliyle, bir veri kümesindeki noktalar arasına en uygun düz çizgiyi (regresyon doğrusu) çizerek, bağımsız değişkenlerin değerlerine göre bağımlı değişkenin değerini tahmin etmeye çalışır.

Basit Lineer Regresyon: Bir Doğru Denklemi

Basit Lineer Regresyon'da tek bir bağımsız değişken bulunur ve ilişki şu denklemle ifade edilir:

Y = β₀ + β₁X + ε

  • Y: Bağımlı değişken (tahmin edilen değer)
  • X: Bağımsız değişken
  • β₀: Kesişim noktası (X=0 olduğunda Y'nin değeri)
  • β₁: Eğim (X'teki bir birimlik artışın Y'deki değişimi)
  • ε: Hata terimi (modelin açıklayamadığı kısım)

Çoklu Lineer Regresyon ise birden fazla bağımsız değişkenin olduğu durumlarda kullanılır ve denklem buna göre genişler.

Neden Lineer Regresyon Kullanmalıyız?

Lineer Regresyon, popülerliğini birkaç önemli avantaja borçludur:

  • Yorumlanabilirlik: Modelin parametreleri (eğim ve kesişim), bağımsız değişkenlerin bağımlı değişken üzerindeki etkisini açıkça gösterir. Bu, sonuçların anlaşılmasını ve iş kararlarının alınmasını kolaylaştırır.
  • Basitlik ve Hız: Algoritma hesaplama açısından nispeten basittir ve büyük veri setlerinde bile hızlı bir şekilde eğitilebilir.
  • Temel Bir Başlangıç: Birçok karmaşık modelin temelini oluşturur ve makine öğrenimi yolculuğuna başlayanlar için mükemmel bir başlangıç noktasıdır.
  • Geniş Uygulama Alanları: Finans, pazarlama, sağlık, mühendislik gibi birçok farklı sektörde tahmin ve analiz için kullanılır.

Python ile Lineer Regresyon Adım Adım

Şimdi gelelim işin pratik kısmına. Python'ın güçlü kütüphaneleri sayesinde Lineer Regresyon modeli oluşturmak oldukça kolaydır. İşte adım adım süreç:

Gerekli Kütüphaneler

Modelimizi oluşturmak ve analiz etmek için aşağıdaki kütüphanelere ihtiyacımız olacak:

  • numpy: Sayısal işlemler ve dizi manipülasyonu için.
  • pandas: Veri setlerini işlemek ve analiz etmek için.
  • scikit-learn: Makine öğrenimi algoritmalarını (Lineer Regresyon dahil) içeren ana kütüphanemiz.
  • matplotlib ve seaborn: Verileri ve model sonuçlarını görselleştirmek için.
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
import matplotlib.pyplot as plt
import seaborn as sns

Veri Hazırlığı: Veri Seti Oluşturma veya Yükleme

Modelimizi eğitmek için bir veri setine ihtiyacımız var. Basit bir örnek için rastgele veri oluşturalım. Gerçek bir senaryoda bu adımda bir CSV dosyasından veya veritabanından veri yüklersiniz.

# Rastgele veri seti oluşturma (Örn: Reklam Harcaması vs. Satış)
np.random.seed(0)
X = np.random.rand(100, 1) * 100  # Reklam Harcaması (0-100 arası)
y = 2 * X + 20 + np.random.randn(100, 1) * 20 # Satışlar (yaklaşık 2*X + 20)

# Veriyi DataFrame'e dönüştürme (isteğe bağlı, görselleştirme için faydalı)
df = pd.DataFrame({'Reklam_Harcamasi': X.flatten(), 'Satis': y.flatten()})

Verimizi bağımlı (y) ve bağımsız (X) değişkenlere ayırdıktan sonra, modeli eğitmek ve test etmek için veri setini eğitim ve test setleri olarak ikiye bölmeliyiz. Bu, modelimizin yeni, daha önce görmediği veriler üzerindeki performansını değerlendirmemizi sağlar.

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

Modelin Eğitilmesi

Veri hazırlığı tamamlandıktan sonra, Lineer Regresyon modelimizi oluşturup eğitim setimizle eğitebiliriz. Scikit-learn kütüphanesindeki `LinearRegression` sınıfı bu iş için idealdir.

# Lineer Regresyon modelini oluşturma
model = LinearRegression()

# Modeli eğitim verileriyle eğitme
model.fit(X_train, y_train)

model.fit() çağrısı, modelin eğitim verilerindeki en iyi `β₀` (kesişim) ve `β₁` (eğim) değerlerini bulmasını sağlar.

Tahmin Yapma ve Model Değerlendirmesi

Eğitilen modelimizle artık tahminler yapabiliriz. Ardından, modelin performansını ölçmek için çeşitli metrikler kullanacağız.

# Test seti üzerinde tahminler yapma
y_pred = model.predict(X_test)

# Modelin katsayılarını ve kesişim noktasını inceleme
print(f"Katsayı (Eğim): {model.coef_[0][0]:.2f}")
print(f"Kesişim: {model.intercept_[0]:.2f}")

# Model performansını değerlendirme
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

print(f"Ortalama Kare Hata (MSE): {mse:.2f}")
print(f"R-Kare Skoru: {r2:.2f}")
  • Ortalama Kare Hata (MSE): Tahmin edilen değerler ile gerçek değerler arasındaki farkların karelerinin ortalamasıdır. Daha düşük MSE, daha iyi model performansı anlamına gelir.
  • R-Kare Skoru: Bağımlı değişkendeki varyansın ne kadarının bağımsız değişken(ler) tarafından açıklandığını gösterir. 0 ile 1 arasında değişir; 1'e ne kadar yakınsa, model o kadar iyi uyum sağlar.

Sonuçları Görselleştirme

Görselleştirme, modelin veriye nasıl uyduğunu anlamak için kritik öneme sahiptir.

plt.figure(figsize=(10, 6))
sns.scatterplot(x=X_test.flatten(), y=y_test.flatten(), label='Gerçek Değerler')
plt.plot(X_test, y_pred, color='red', label='Tahmin Doğrusu')
plt.xlabel('Reklam Harcaması')
plt.ylabel('Satış')
plt.title('Lineer Regresyon: Reklam Harcaması vs. Satış Tahmini')
plt.legend()
plt.grid(True)
plt.show()

Bu grafik, test setindeki gerçek satış değerlerini ve modelimizin tahmin ettiği regresyon doğrusunu gösterir. Doğrunun noktalara ne kadar yakın geçtiği, modelin ne kadar iyi tahmin yaptığının görsel bir göstergesidir.

Gerçek Dünya Uygulamaları

Lineer Regresyon'un potansiyeli sadece basit örneklerle sınırlı değildir. Gerçek dünyada birçok alanda aktif olarak kullanılmaktadır:

  • Finans: Hisse senedi fiyatlarını etkileyen faktörleri belirleme ve gelecekteki fiyatları tahmin etme.
  • Pazarlama: Reklam harcamalarının satışlar üzerindeki etkisini analiz etme ve bütçe optimizasyonu.
  • Emlak: Ev fiyatlarını metrekare, konum, oda sayısı gibi özelliklere göre tahmin etme.
  • Sağlık: İlaç dozajlarının hastanın iyileşme süresi üzerindeki etkisini değerlendirme.
  • Meteoroloji: Hava durumu tahminlerinde sıcaklık, nem gibi değişkenler arasındaki ilişkileri modelleme.

Sonuç

Lineer Regresyon, veri bilimindeki en temel ama bir o kadar da güçlü araçlardan biridir. Bu makalede, Lineer Regresyon uygulamaları ve Python ile basit tahmin modelleri oluşturma sürecini adım adım ele aldık. Gerekli kütüphanelerin kurulumundan veri hazırlığına, modelin eğitilmesinden performans değerlendirmesine ve görselleştirmeye kadar her aşamayı detaylandırdık. Unutmayın ki Lineer Regresyon, daha karmaşık algoritmaların temelini oluşturur ve çoğu zaman sağlam bir başlangıç noktası sunar. Bu temel bilgileri edinerek, veri dünyasında daha ileri adımlar atmak için sağlam bir temel oluşturmuş oldunuz. Şimdi sıra sizde; farklı veri setleri üzerinde bu modellemeleri deneyerek kendi tahmin modellerinizi geliştirmeye başlayın!

Son güncelleme:
Paylaş:

Kanser İçerikleri