scikit-learn
Makine öğrenim kütüphanesinden (Python) Doğrusal Ayrımcılık Analizi'ni (LDA) boyutsallığın azaltılması için kullanıyordum ve sonuçları biraz merak ediyordum. Şimdi, LDA'nın ne scikit-learn
yaptığını merak ediyorum , böylece sonuçlar R'de yapılan bir manuel yaklaşımdan veya LDA'dan farklı görünecek şekilde farklı görünebilir. Biri bana burada bazı bilgiler verebilirse harika olur.
Temel olarak en çok ilgisini çeken şey, scikit-plot
ilişkilerin 0 olması gereken iki değişken arasında bir korelasyon göstermesidir.
Bir test için, Iris veri setini kullandım ve ilk 2 doğrusal ayrımcı şöyle göründü:
IMG-1. Scikit-learn ile LDA
Bu temelde, burada bulunan scikit-learn belgelerinde bulduğum sonuçlarla tutarlı .
Şimdi adım adım LDA’dan geçtim ve farklı bir projeksiyon aldım. Neler olup bittiğini bulmak için farklı yaklaşımlar denedim:
IMG-2. Ham verilere ilişkin LDA (merkezleme yok, standardizasyon yok)
Ve eğer ilk önce veriyi standartlaştırsaydım (z-puan normalizasyonu; birim varyans). Aynı şeyi sadece ortalama merkezlemeyle yaptım, bu aynı göreceli projeksiyon görüntüsüne (ve gerçekten de yaptığı gibi) yol açmalıdır.
IMG-3. Ortalama merkezleme veya standardizasyondan sonra adım adım LDA
IMG-4. R'deki LDA (varsayılan ayarlar)
Verileri ortaladığım IMG-3'teki LDA (ki bu tercih edilen yaklaşım olacaktır), aynı zamanda R’de LDA’yı yapan biri tarafından bir Yazı’da bulduğum ile aynı görünüyor
Referans için kod
Tüm kodu buraya yapıştırmak istemedim, ancak LDA projeksiyonu için kullandığım birkaç adıma (aşağıya bakınız) ayrılmış olan bir IPython not defteri olarak yükledim .
- Adım 1: d-boyutlu ortalama vektörlerinin
Adım 2: Dağılım Matrislerinin Hesaplanması
2.1 Sınıf içi dağılım matrisi , aşağıdaki denklem ile hesaplanır:
2.2 Sınıflar arası dağılım matrisi , aşağıdaki denklem ile hesaplanır: burada genel ortalamadır.
Adım 3. matrisi için genelleştirilmiş özdeğer problemini çözme
3.1. Özdeğerleri azaltarak özvektörleri sıralama
3.2. En büyük özdeğerlere sahip k özvektörleri seçmek . boyutlu eigenvector matrix iki özvektörün en yüksek öz değerlerle birleştirilmesi
Adım 5: Örnekleri yeni alt alana