Boyut Azaltma (Dimensionality Reduction) veri bilimi için oldukça önemli bir method. Peki neden?
PCA (Principal Component Analysis) methodu yüksek boyutlu bir veri setinin boyutunu azaltmak için kullanılan en yaygın yöntemlerden biri.
Peki Nasıl?
Boyut küçültmenin en kolay yolu verimizi en iyi tanımlayan öznitelikleri bulup diğerlerini atmak (öznitelik seçimi — feature selection). Örneğin 100 boyuttan 10 tanesinin önemli olduğuna ulaşıp kalan 90 özniteliği atmak ama bu tahmin edeceğiniz gibi bilgi kaybına sebep oluyor.
Bizim uğraşmamız gereken şey ise öznitelik çıkarımı (feature extraction)yapmak -en az bilgi kaybıyla boyut küçültmek-. Bunu yapmak için verideki dağılımın maksimum varyansını-bilgisini tutan minimum sayıda değişken oluşturuyoruz. Eğer bir değişken her örnek için aynı değere sahip ise gereksiz bir değişkendir biz en yüksek varyansa sahip olan değişkenleri bulmalıyız. Buna en güzel örneklerden biri HDI (İnsani Kalkınma Endeksi) hesaplaması olabilir. Ülkelerin sahip olduğu değişkenlerden bazıları (wiki): resmi dil, yüz ölçümü (toplam), su oranı, nüfus, nüfus yoğunluğu, GSYH, para birimi, trafik akışı, hukuk, dış ilişkiler, din, eğitim, sağlık, sanayi, tarım, turizm…
Yukarıdaki ek olarak ülkeden ülkeye değişen yüzlerce değişken sıralayabiliriz. Tahmin edersiniz ki bunu modele dökmek oldukça sancılı olacaktır. PCA metodu sanayi, tarım, turizm vs. ekonomiyle ilgili yüzlerce değişkeni ve nüfusu kullanıp kişi başına düşen gayri safi milli gelir diye tek bir değişken oluşturuyor. Yani yüzlerce boyutluk bilgi en az bilgi kaybıyla tek boyutta tutulmuş oluyor.
HDI hesaplamalarında sadece 5 özniteliğe bakılarak pek de itiraz edilmeyecek bir tablo karşımıza çıkıyor.
The only source of knowledge is experience.
(Bilginin tek kaynağı deneyimdir.)
-Albert Einstein
Şimdi öğrendiklerimizi makine öğrenmesinin en temel veri setlerinden biri olan el yazısı verisi üzerinde uygulayalım ne kadar kolay olduğuna şaşıracaksanız.
Veri setimizde farklı şekilde yazılmış 1797 rakam var ve her rakam 64 boyutlu bir matrisle ifade ediliyor. Her rakam için çok farklı temsiller (vektörler) mevcut malum herkesin el yazısı farklı :)
El yazısıyla yazılmış 0 ve 1 rakamlarını temsil eden farklı vektörlere bi bakalım.
0 rakamını temsil eden vektörler arasında farklılık var kabul fakat 1 rakamını temsil eden vektörlere kıyasla fark oldukça az. Bunu daha görünür yapmak için PCA dönüşümünü uygulayıp ve rakamların iki boyutlu dünyasına bakalım.
Vektörler arasındaki uzaklığa hızlıca bakarsak kötü bir dönüşüm olmadığını anlarız.
Şimdi bütün rakamların PCA dönüşümü sonrasındaki iki boyutlu vektörlerini resmedelim, rengarenk bir dünya bizi bekliyor.
Çalışmanın Medium versiyonuna şuradan ulaşabilirsiniz.
Sorunuz olursa bana Linkedin veya Twitter hesaplarından yazabilirsiniz.
Adres
Risk Yazılım Teknolojileri Ltd. Ş.T.İ.
İstanbul Teknik Üniversitesi Ayazağa Kampüsü ARI-1 Teknopark Binası 13-14
Maslak - İstanbul - TURKEY
E-Mail info@akademialgo.com