Menu
CoddyTech

Açıklanan Varyans

Coddy'nin Machine Learning Journey'sinin Denetimsiz Öğrenme bölümünün bir parçası. Ders 27 / 51.

2 bileşen ne kadarını korudu? Her bileşen toplam yayılımın bir payını, yani açıklanan varyans oranını taşır. 13 şarap bileşeninin tümü için:

13 şarap bileşenini gösteren çubuklar 0.36'dan neredeyse 0'a iner ve turuncu bir çizgi bunları toplar; 0.36'dan 1'e yükselir. 8. bileşende kesikli %90 çizgisini keser

PCA(), n_components olmadan tümünü korur. np.cumsum kümülatif toplamı verir:

pca = PCA().fit(scaled)
ratio = pca.explained_variance_ratio_
print(ratio[:3].round(3))
total = np.cumsum(ratio)
print((total < 0.9).sum() + 1)

Bu, [0.362 0.192 0.111] ve 8 değerlerini yazdırır: toplamlar hâlâ 0.9'un altında, ayrıca bu eşiği aşan bileşen de vardır. Yani 2B şarap haritası %55'i korudu.

challenge icon

Görev

Orta

Bir çikolata laboratuvarı her bar için 9 ölçüm yapıyor. Yayılımın %90'ını kaç bileşen koruyor? scaled hazır.

  1. PCA() modelini eğit ve her bileşenin payını al.
  2. %90'a ulaşan bileşen sayısını yazdır.
  3. Payları 1, 2, 3... konumlarında çubuklar olarak çiz ve each component etiketi ekle; birikimli toplamı marker="o" ile çizgi olarak çiz ve running total etiketi ekle; 0.9 seviyesinde kesikli gri bir çizgi ve bir açıklama ekle. Grafiği göster.

Başka bir laboratuvar için:

Components for 90%: 4

7 bileşen için Her Bileşenin Koruduğu Yayılım başlıklı grafik: 0.42'den başlayarak küçülen çubuklar, 1'e yükselen birikimli toplam ve bileşen 4'te kesikli 0.9 çizgisini aşan birikimli toplam; ayrıca bir açıklama

Kendin dene

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA

# Bir çikolata üreticisinin laboratuvarı: 150 çikolata barının her biri için 9 ölçüm
bars = pd.read_csv("chocolate.csv")
scaled = StandardScaler().fit_transform(bars)

fig, ax = plt.subplots()
ax.set_title("Spread Kept by Each Component")
ax.set_xlabel("Component")
ax.set_ylabel("Share of spread")

# Kodunuzu aşağıya yazın
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Denetimsiz Öğrenme bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi