Preprocessing için PCA( Principal Component Analysis) Kullanımı

     Türkçesi “Temel Bileşenler Analizi” olan PCA tanıma, sınıflandırma, görüntü sıkıştırma alanlarında kullanılan yararlı bir istatistiksel tekniktir. Temel amacı yüksek boyutlu verilerde en yüksek varyans ile veri setini tutmak ancak bunu yaparken boyut indirgemeyi sağlamaktır. Fazla boyutlu verilerdeki genel özellikleri bularak boyut sayısının azaltılmasını, verinin sıkıştırılmasını sağlar. Boyut azalmasıyla bazı özelliklerin kaybedileceği kesindir; fakat amaçlanan, bu kaybolan özelliklerin popülasyon hakkında çok az bilgi içeriyor olmasıdır. Bu yöntem, yüksek korelasyonlu değişkenleri bir araya getirerek, verilerdeki en çok varyasyonu oluşturan “temel bileşenler” olarak adlandırılan daha az sayıda yapay değişken kümesi oluşturur.


    PCA verideki gerekli bilgileri ortaya çıkarmada oldukça etkili bir yöntemdir. PCA’in arkasında yatan temel mantık çok boyutlu bir veriyi, verideki temel özellikleri yakalayarak daha az sayıda değişkenle göstermektir. 


   Dataset

     Deneysel olarak çalıştığım veri kümesi, belirli kardiyovasküler olayları tahmin etmek veya kalp sağlığına ilişkin net göstergeler bulmak için deneklerin verilerini içeriyor. Bu veri kümesinde yaş, açlık şekeri, kolesterol gibi 13 değişkene sahibiz ve bu değerlere göre kişinin kalp hastası olup olmadığını tahmin etmeye çalışıyoruz.


Değişkenler arasında yüksek korelasyon olmasa da PCA işe yarar mı diye deneysel olarak bir çalışma yaptım. Aşağıda değişkenler arasındaki korelasyonu görüyorsunuz.



Tabloda görüldüğü üzere multicollinearity olması için gereken yüksek korelasyon değerleri değişkenler arasında yoktur. Veri seti üzerinde yapmış olduğumuz PCA dönüşümü bize 2 bileşen seçmenin verilerin toplam varyansının sadece % 28.4'ünü koruyabileceğimizi söylemektedir. 



2 bileşene düşürmemizin ardından oluşan kümeleme de aşağıdaki şekilde gözükmektedir.


Haydi gelin, değişkenler arasında yüksek korelasyon bulunmadığı bu çalışmamızda PCA kullanmanın model skorlarına etkisini inceleyelim.


XGBOOST İle Skor Ölçümü

    XGBClassifier ile ilk modeli oluşturdum. Parameter Tuning gibi işlemlerden sonra oluşan modelimin skorlarını ölçtüm. 






Modelimiz test datası üzerinde 0.84 accuracy skoru elde etti. Precision ve recall skorları da hiç fena durmuyor. 

SONUÇ

    Hızlı karar almak ve çok fazla sayıda değişkene sahip bir datasette önden bir öngörü elde etmek için PCA metodu kullanılabilir gibi görünüyor. Kesin sonuçlar için daha büyük datasetleriyle denemeler yapmaya ihtiyaç var. 
Veriyle kalın 👌


Bu makaledeki tüm analizler için yazdığım kodlara buradan erişilebilir.

Yorumlar

Bu blogdaki popüler yayınlar

Adversarial Validator

Makine Öğrenmesinde Değişken Seçimi