Menu
CoddyTech

Wyjaśniona wariancja

Część sekcji Uczenie nienadzorowane ścieżki Machine Learning w Coddy. Lekcja 27 z 51.

Ile zachowały 2 składowe? Każda składowa odpowiada za część całkowitego rozrzutu, czyli swój wyjaśniony udział wariancji. Dla wszystkich 13 składowych wina:

Słupki dla 13 składowych wina maleją od 0.36 do prawie 0, a pomarańczowa linia sumuje ich wartości, rosnąc od 0.36 do 1. Przecina przerywaną linię 90% przy składowej 8

PCA() bez n_components zachowuje je wszystkie. np.cumsum oblicza sumę skumulowaną:

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

To wypisuje [0.362 0.192 0.111] i 8: suma nadal jest mniejsza niż 0.9, plus ta, która przekracza tę wartość. Mapa win w 2D zachowała więc 55%.

challenge icon

Wyzwanie

Średni

Laboratorium czekolady mierzy 9 cech każdego batonika. Ile składowych zachowuje 90% rozrzutu? scaled jest gotowe.

  1. Dopasuj PCA() i pobierz udział każdej składowej.
  2. Wyświetl liczbę składowych, które osiągają 90%.
  3. Narysuj udziały jako słupki przy 1, 2, 3... z etykietą each component; sumę narastającą jako linię z marker="o" i etykietą running total; przerywaną szarą linię na poziomie 0.9; oraz legendę. Wyświetl wykres.

Dla innego laboratorium:

Components for 90%: 4

Wykres zatytułowany Udział zachowany przez każdą składową, obejmujący 7 składowych: słupki malejące od 0.42, suma narastająca rosnąca do 1 i przekraczająca przerywaną linię 0.9 przy składowej 4 oraz legenda

Spróbuj swoich sił

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

# Laboratorium producenta czekolady: 9 pomiarów dla każdej ze 150 tabliczek
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")

# Wpisz swój kod poniżej
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Uczenie nienadzorowane

Poćwicz samodzielnie: Kompilator Python online