Bir projede veri setiyle karşılaştığımız ilk anda muhtemelen kendimize
soracağımız ilk soruların başında “hangi değişkenleri kullanmalıyım” olacaktır.
Özellik seçimi ve veri temizleme, model tasarımınızın ilk ve en önemli adımı
olmalıdır. Özellik Seçimi, makine öğrenimindeki modelinizin performansını
büyük ölçüde etkileyen temel kavramlardan biridir. Makine öğrenimi
modellerinizi eğitmek için kullandığınız veri özelliklerinin elde edebileceğiniz
performans üzerinde büyük etkisi vardır. Peki bu özellikleri nasıl seçmemiz
gerekiyor derseniz bu içeriğimizde sizlere bu konuda yardımcı olmaya geldik.
Özellik Seçimi, tahmin değişkeninize en çok katkıda bulunan özellikleri otomatik veya manuel
olarak seçtiğiniz süreçtir. Verilerinizde alakası olmayan özelliklerin olması, modellerin
doğruluğunu azaltabilir ve modelinizin alakasız özelliklere göre öğrenmesine neden olabilir.
Bu içeriğimizde hepsinden birebir bahsedemesekte yukarıdaki tabloda başlıca özetlemek
istedim,daha farklı yöntemlerde elbette mevcuttur. Şimdi bir kaç tanesini beraber
detaylandıralım.
Unsupervised Feature Selection Yöntemleri
Makine öğrenimi modelinin hedef değişkenine erişmeleri gerekmez.
Modelin hedefiyle ilişkisini incelemeden bir özelliğin model için önemsiz olduğunu nasıl
anlayabiliz diye sorabilirsiniz. Bazı durumlarda bu mümkündür. Özellikleri şu şekilde seçmek
isteyebiliriz:
— Sıfır veya neredeyse sıfıra yakın varyans: Sabit olan özellikler, öğrenilecek çok az bilgi sağlar
ve bu nedenle bu özellikler çıkartabiliriz. (Variance Threshold)
— Birçok eksik değer olması: Eksik özellikleri çıkartmak, eksik verileri işlemek için tercih edilen
bir yol olmasa da, genellikle iyi bir başlangıçtır ve çok fazla hücrede girişler eksikse, bu tür
özellikler büyük olasılıkla önemsiz olacağından yapılacak mantıklı yol çıkartmak olabilir.
— Yüksek multicollineartiy: fazlalık sorunlarına işaret edebilecek farklı özellikler arasında güçlü
bir korelasyon anlamına gelir.
LASSO(Least Absolute Shrinkage and Selection Operator ) , tahmine dayalı modelin overfitting
durumunu önlemek için lineer modellerin bir düzenleme yöntemidir. LASSO’da katsayıların mutlak
değerlerinin toplamını cezalandırırız.
Lasso bazı katsayıları sıfıra ayarlama yeteneğine sahip olduğundan, Lasso’nun makine
öğreniminde değişken seçimi için kullanılabileceği anlamına gelmektedir. Bazı özellikleri çarpan
katsayılar 0 ise, bu özellikleri veriden güvenle kaldırabiliriz. Verimizde geri kalanlar önemli
özelliklerdir.
Aşağıdaki örnekte elimizde 46 sütun ve 1 target sütunu(price) , 1674 satırda oluşan veri seti
bulunmaktadır.
Recursive Feature Elimination(RFE)
RFE, yapılandırılması ve kullanılması kolay olduğu ve bir eğitim veri kümesinde hedef
değişkeni tahmin etmede daha çok veya en alakalı olan özelliklerin (sütunların) seçilmesinde
etkili olduğu popüler bir yöntemdir.En uygun sayıda özellik kalana kadar özellikleri birer birer
kaldırarak model karmaşıklığını azaltır.
RFE kullanırken iki önemli seçenek vardır: seçilecek özellik sayısı seçimi ve özelliklerin
seçilmesine yardımcı olmak için kullanılan algoritma seçimi.
Yöntemin performansı bu hiperparametrelerin iyi yapılandırılmasına güçlü bir şekilde bağlı
olmasa da, bu hiperparametrelerin her ikisi de keşfedilebilir.
Tahmine dayalı modelimizi bu özellikler üzerinde eğitirsek, eğitim sürecinde gereken zaman ve işlem
gücü, modeli orijinal veri kümesinin 35 özelliğinin tümü üzerinde eğitmemize kıyasla çok daha azdır.
Sonuç olarak, modelin overfitting olma durumu azaltılır.
Univariate Filter Feature Selection (Tek Değişkenli Özellik Seçimi)
Filtre yöntemleri, tek değişkenli istatistikler yoluyla ölçülen özelliklerin içsel özelliklerini
toplar. Bu yöntemler diğer yöntemlerden daha hızlıdır ve hesaplama açısından daha az
maliyetlidir. Yüksek boyutlu verilerle uğraşırken, filtre yöntemlerini kullanmak hesaplama
açısından daha ucuzdur.
Hedef değişkeni ile en güçlü ilişkiye sahip olan özellikleri seçmek için istatistiksel testler
kullanılabilir.
SelectPercentile, özelliklerin kullanıcı tarafından belirlenen en yüksek puan yüzdesi hariç
tümünü kaldırır.
SelectKBest En yüksek puanlara göre özellikleri seçin.
Her özellik için ortak tek değişkenli istatistiksel testler kullanarak: yanlış pozitif oranı
SelectFpr, yanlış keşif oranı SelectFdr .
Regresyon için: r_regression, f_regression, mutual_info_regression
Sınıflandırma için : chi2, f_classif, mutual_info_classif
Aşağıdaki örnek, Mobil Fiyat Aralığı Tahmini Veri Kümesinden en iyi 10 özelliği seçmek
amacıyla negatif olmayan özellikler için ki-kare istatistiksel testini kullanır.
Korelasyon Matrisi ile Heat Map
Korelasyon, iki veya daha fazla değişken arasındaki doğrusal ilişkinin bir ölçüsüdür. Özellik seçimi için
korelasyon kullanmanın arkasındaki mantık, iyi değişkenlerin hedefle yüksek oranda ilişkili olmasıdır.
!!Ayrıca, değişkenler hedefle korelasyonlu olmalı, ancak kendi aralarında korelasyonsuz olmalıdır.
Değişkenleri seçmek için amacımıza göre düşük korelasyon değeri olanlar en alakasız olan özellikler
oluyor . Değişkenlerin ilişkili olduğunu bulursak, hedef değişkenden daha düşük bir korelasyon
katsayısı değerine sahip değişkeni çıkartabiliriz.
Örneğin Balance ile Balance_binary değişkenleri arasında korelasyon 0.92 çıkmış bu bizim
için iki değişkenin neredeyse aynı olduğunu gösteriyor, buda bir tanesinin gereksiz bir
sütun olduğu anlamına geliyor bir tane sütunu veri setimizden çıkartabiliriz. Fakat
unutulmamalı bu durum değişkenler arasında böyledir, hedef (target) ile değişkenler
arasında oldukça yüksek korelasyonlar çıkması istediğimiz bir durumdur demekki o
özelliğimiz hedef sütunumuzu oldukça etkiliyordur, modelimize dahil etmeliyiz anlamına
gelmektedir.
Ve tabiki en önemli özellik seçme yöntemlerinden bir diğeri ise ALAN BİLGİSİ.
Çalıştığımız alana ne kadar hakimsek, o alandaki terminolojiyi ne kadar biliyorsak o kadar
doğru özellikleri seçebiliriz.