Python ile Çoklu Çıkış Regresyonu: Adım Adım Kılavuz

Giriş

Veri bilimi ve makine öğrenmesi dünyasında regresyon analizi, sürekli bir hedef değişkenin tahmin edilmesi için yaygın olarak kullanılmaktadır. Ancak, bazen tek bir çıkış değişkeni yerine birden fazla çıkış değişkenini tahmin etmek isteyebiliriz. İşte burada çoklu çıkış regresyonu devreye giriyor. Çoklu çıkış regresyonu, bir veya daha fazla bağımsız değişken (özellik) ile birden fazla bağımlı değişken (çıkış) arasında ilişki kurmayı amaçlayan bir tekniktir. Bu makalede, Python ile çoklu çıkış regresyonu yapmayı öğrenirken, bu sürecin nasıl işlediğini adım adım keşfedeceğiz.

Öncelikle, çoklu çıkış regresyonunu anlamak için gerekli temel kavramları ele alalım. Regresyon analizi, bir veya daha fazla bağımsız değişken ile bir bağımlı değişken arasındaki ilişkiyi modellemek için kullanılan istatistiksel bir tekniktir. Çoklu çıkış regresyonunda, birden fazla hedef değişken vardır ve bu değişkenler genellikle birbirleriyle ilişkili olabilir. Örneğin, bir evin fiyatının yanı sıra o evin enerji tüketimi gibi farklı özellikleri tahmin etmek isteyebiliriz.

Bu yazıda, Python’da çoklu çıkış regresyonunun nasıl yapılacağına dair bir kılavuz sunacağız. Kütüphanelerimizi yüklemeye, veri setimizi hazırlamaya, modelimizi oluşturmaya ve sonuçlarımızı değerlendirmeye adım adım geçeceğiz. Hem yeni başlayanlara, hem de orta seviye geliştiricilere yol gösterecek bir içerik hazırladık. Hazırsanız, başlayalım!

Gerekli Kütüphanelerin Yüklenmesi

Python’da çoklu çıkış regresyonunu gerçekleştirmek için birkaç kütüphaneye ihtiyacımız var. Öncelikle, veri manipülasyonu ve analizi için Pandas, modelleme için ise Scikit-Learn gibi kütüphaneleri kullanacağız. Ayrıca, verilerin görselleştirilmesi için Matplotlib kütüphanesini de ekleyeceğiz. Bu kütüphaneleri yüklemek için aşağıdaki kodu kullanabilirsiniz:

pip install pandas scikit-learn matplotlib

Yukarıdaki komut, gerekli kütüphaneleri yükleyecek ve projemiz için hazır hale getirecektir. Şimdi kütüphaneleri Python dosyamıza ekleyerek başlayalım:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, mean_absolute_error

İlk olarak, veri setimizi dönüştürmek ve modelimizi oluşturmak için gerekli olan kütüphaneleri tanımlamış olduk. Artık verilerimizi yükleyip analiz edebiliriz.

Veri Setinin Hazırlanması

Çoklu çıkış regresyonu uygulamak için uygun bir veri setine ihtiyacımız var. Bu örnek için, birkaç özelliğe sahip ev verilerini kullanmayı planlıyoruz. Veri setimizde, evin fiyatı ve enerji tüketimi gibi iki çıkış değişkeni olacak. Aşağıdaki örnek veri setini oluşturarak başlayalım:

data = { 'ev_boyutu': [1500, 1600, 1700, 1800, 1900],
         'oda_sayisi': [3, 4, 3, 5, 4],
         'banyo_sayisi': [2, 2, 2, 3, 2],
         'fiyat': [300000, 350000, 370000, 400000, 380000],
         'enerji_tuketimi': [200, 220, 210, 300, 280] }

veri_seti = pd.DataFrame(data)

Bu örnekte, bir DataFrame oluşturduk ve evin boyutu, oda sayısı, banyo sayısı, evin fiyatı (ilk çıkış) ve enerji tüketimi (ikinci çıkış) için veriler ekledik. Şimdi bağımsız ve bağımlı değişkenlerimizi belirleyelim.

Bağımsız değişkenler (features) evin boyutu, oda sayısı ve banyo sayısıdır. Bağımlı değişkenler (outputs) ise ev fiyatı ve enerji tüketimidir. Aşağıdaki kod ile bağımsız ve bağımlı değişkenlerimizi ayıralım:

X = veri_seti[['ev_boyutu', 'oda_sayisi', 'banyo_sayisi']]
y = veri_seti[['fiyat', 'enerji_tuketimi']]

Bu aşamada bağımsız ve bağımlı değişkenlerimizi tanımlamış olduk. Şimdi verimizi eğitim ve test setlerine bölmemiz gerekiyor.

Eğitim ve Test Setlerine Bölme

Modelimizi oluştururken, verilerinizi eğitim ve test setlerine ayırmak çok önemlidir. Eğitim seti, modelimizin eğitiminde kullanılacak ve test seti ise modelin performansını değerlendirmek için kullanılacaktır. Verimizi %80 eğitim ve %20 test seti olarak ayıralım:

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

Buradaki random_state, her seferinde aynı verilerin seçilmesini sağlamak için kullanılıyor. Eğitim ve test setlerini ayırdıktan sonra, modelimizi oluşturmaya hazırız.

Modelin Oluşturulması

Çoklu çıkış regresyonu için Scikit-Learn kütüphanesinin LinearRegression sınıfını kullanarak bir model oluşturacağız. Ancak bilmekteyiz ki Scikit-Learn, çoklu çıkış regresyonu için doğrudan bir yöntem sunmamaktadır. Bununla birlikte, çoklu regresyonu uygulamak için birden fazla hedef değişken ile bir LinearRegression nesnesi oluşturabiliriz.

model = LinearRegression()
model.fit(X_train, y_train)

Yukarıdaki kodda, modelimizi tanımladık ve eğitim verileri ile modelimizi eğittik. Eğitim süreci tamamlandıktan sonra, modelimizi test edebiliriz.

Modelin Test Edilmesi ve Değerlendirilmesi

Modelimizin test edilmesi, tahminlerimizin doğruluğunu anlamak için kritik bir adımdır. Test veri setimizi kullanarak modelin tahminlerini alalım:

y_pred = model.predict(X_test)

Bu kod ile test verilerinde modelimizin tahmin ettiği sonuçları kaydetmiş olduk. Şimdi, modelin performansını değerlendirmek için birkaç metrik kullanacağız. En yaygın kullanılan metrikler ortalama mutlak hata (Mean Absolute Error – MAE) ve ortalama kare hata (Mean Squared Error – MSE)’dır.

mae = mean_absolute_error(y_test, y_pred)
mse = mean_squared_error(y_test, y_pred)

Bu metrikleri hesapladıktan sonra, sonuçlarımızı yazdıralım:

print('Ortalama Mutlak Hata:', mae)
print('Ortalama Kare Hata:', mse)

Geri dönüşümüz sayesinde, modelimizin ne kadar doğru tahminler yaptığını anlayabiliriz. Düşük hata oranları, modelimizin başarılı bir şekilde çalıştığını gösterir.

Sonuçların Görselleştirilmesi

Modelimizin başarısını daha iyi anlayabilmek için sonuçlarımızı görselleştirmek önemlidir. Bir grafik oluşturup, gerçek ve tahmin edilen değerleri karşılaştırabiliriz. Aşağıdaki kod ile tahminlerimizi ve gerçek değerlerinizi görselleştirebiliriz:

plt.scatter(y_test['fiyat'], y_pred[:, 0], color='blue', label='Fiyat Tahminleri')
plt.scatter(y_test['enerji_tuketimi'], y_pred[:, 1], color='red', label='Enerji Tüketimi Tahminleri')
plt.xlabel('Gerçek Değerler')
plt.ylabel('Tahmin Edilen Değerler')
plt.title('Gerçek ve Tahmin Değerleri')
plt.legend()
plt.show()

Bu grafik, gerçek değerler ile tahmin edilen değerler arasındaki benzerliği gözler önüne serecektir. Yüksek bir benzerlik, modelimizin iyi bir performans sergilediği anlamına gelir.

Sonuç

Bu makalede, Python ile çoklu çıkış regresyonu uygulamasının temel adımlarını inceledik. Verimizin hazırlanması, modelin oluşturulması ve değerlendirilmesi süreçlerini adım adım ele aldık. Çoklu çıkış regresyonu, karmaşık problemleri çözmede büyük bir avantaj sunmakta ve verilerinizi daha anlamlı bir şekilde analiz etmenizi sağlamaktadır.

Veri bilimi alanındaki gelişmeler ile çoklu çıkış regresyonunu kullanmak, çeşitli uygulama alanlarında size büyük kolaylıklar sağlayabilir. Gelişen teknolojilerle birlikte, bu teknikleri daha karmaşık senaryolar için uygulamak da faydalı olacaktır. Kendi veri setleriniz ile denemeler yaparak, modelinizi daha da geliştirebilir ve pratik edinmeye başlayabilirsiniz.

Unutmayın ki, modelin başarısını artırmak için elde ettiğiniz sonuçları sürekli olarak değerlendirmeli ve iyileştirmeler yapmalısınız. Verilerinizin kalitesini artırmak, uygun model seçimleri yapmak ve gerektiğinde yöntemleri değiştirmek, daha başarılı tahmin sonuçları elde etmenize yardımcı olacaktır.

Scroll to Top