explained_variance_
- Makine Öğrenmesi kursu
- Orta seviye
- Ders 73/112
- 5 dk
explained_variance_ her bileşenin varyans oranını verir.
explained_variance_ratio_
explained_variance_ratio_, her bileşenin toplam varyansın ne kadarını açıkladığını verir. Kümülatif toplamı "ilk k bileşen bilginin yüzde kaçını tutuyor?" sorusunu cevaplar:
pca = PCA().fit(Xs)
print(pca.explained_variance_ratio_[:3].round(3))
kum = np.cumsum(pca.explained_variance_ratio_)
print(np.argmax(kum >= 0.9) + 1) # %90 için gereken bileşenBu değerler çizgi grafiğiyle çizildiğinde "scree plot" adı verilir; dirsek noktası bileşen sayısı için ipucudur.
Bileşen yüklerini okumak
components_ satırları bileşenlerdir; her satırdaki değerler (yükler) o bileşenin hangi özelliklerden oluştuğunu gösterir. Mutlak değeri büyük yükler bileşenin anlamını verir:
d = load_wine()
yuk = pca.components_[0]
for i in np.argsort(-abs(yuk))[:3]:
print(d.feature_names[i], round(yuk[i], 2))Yüklerin işareti tek başına anlamlı değildir (bileşen ters çevrilebilir); önemli olan aynı bileşendeki özelliklerin birbirine göre işaretidir.
Uygulama Açıklanan varyans
Ölçekli şarap verisinde tam PCA eğit. İlk üç bileşenin varyans oranlarını round(3) ile, ardından varyansın %80'ine ulaşmak için gereken bileşen sayısını np.argmax(kum >= 0.8) + 1 ile yazdır.
Başlangıç kodu
import numpy as np
from sklearn.datasets import load_wine
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
X, y = load_wine(return_X_y=True)
Xs = StandardScaler().fit_transform(X)
# buraya yazÖrnek çözüm
import numpy as np
from sklearn.datasets import load_wine
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
X, y = load_wine(return_X_y=True)
Xs = StandardScaler().fit_transform(X)
pca = PCA().fit(Xs)
print(pca.explained_variance_ratio_[:3].round(3))
kum = np.cumsum(pca.explained_variance_ratio_)
print(np.argmax(kum >= 0.8) + 1)Beklenen çıktı
[0.362 0.192 0.111] 5
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Tüm bileşenlerin <code>explained_variance_ratio_</code> toplamı kaçtır?
- 0
- Toplam varyans
- 1 Doğru cevap
- Özellik sayısı
Açıklama: Oranlar toplam varyansa bölünmüş değerlerdir; toplamları 1'dir.
2 Açıklanan varyansın kümülatif toplamını al.
kum = np.____(pca.explained_variance_ratio_)
kum = np.cumsum(pca.explained_variance_ratio_)
Açıklama: cumsum her konumda o ana kadarki toplamı verir.
3 Öznitelikleri eşleştir.
| Kavram | Anlamı |
|---|---|
explained_variance_ |
Bileşen varyansı |
explained_variance_ratio_ |
Varyans oranı |
components_ |
Yükler |
mean_ |
Merkezleme ortalaması |