Zmniejsz wymiar za pomocą PCA
Część sekcji Uczenie nienadzorowane ścieżki Machine Learning w Coddy. Lekcja 44 z 51.
64 piksele to więcej, niż potrzeba do przedstawienia cyfr. PCA może dążyć do zachowania określonej części wariancji zamiast określonej liczby składowych:
n_components=0.9 zachowuje najmniejszą liczbę komponentów, które zawierają 90%:
pca = PCA(n_components=0.9)
X_small = pca.fit_transform(X)
print(pca.n_components_, X_small.shape)Wyświetla 21 (1797, 21): jedną trzecią liczb, większość obrazu.
Bez skalera: każdy piksel ma tę samą jednostkę — ilość tuszu od 0 do 16. Skalowanie wyolbrzymiłoby prawie puste piksele na krawędziach, zamieniając je w pełnoprawne cechy.
Wyzwanie
ŚredniCzas zmniejszyć skany. Program odczytuje udział wariancji, który należy zachować, na przykład 0.8.
- Wypisz, ilu komponentów potrzebuje PCA dla tego udziału w przypadku surowych pikseli, a następnie pikseli po skalowaniu.
- Zachowaj wersję, która wymaga ich mniej: wypisz jej nazwę i kształt zredukowanych danych.
Dla 0.6:
Raw pixels: 7 components
Scaled pixels: 11 components
Keep: raw pixels, shape (1797, 7)Od tej pory projekt zachowuje 80% wariancji.
Spróbuj swoich sił
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
# Z Look at the Digits: 1,797 skanów po 64 piksele, intensywność atramentu od 0 do 16
digits = load_digits()
X = digits.data
y = digits.target
# Udział wariancji do zachowania, na przykład 0.8
share = float(input())
# Napisz swój kod poniżej
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Uczenie nienadzorowane
1Znajdowanie grup
Uczenie się bez etykietMierzenie podobieństwaK-Means krok po krokuK-Means w scikit-learnPodsumowanie: członkowie siłowni4Klasteryzacja hierarchiczna
Łączenie krok po krokuModele aglomeracyjneDendrogramyPodsumowanie: rasy psów7PCA w praktyce
Poznajemy 64 wymiarySkładowe jako wzorceKompresuj i odtwórzPCA przed modelemPodsumowanie: skaner twarzy10Projekt: Odkrywca cyfr
Przyjrzyj się cyfromZmniejsz wymiar za pomocą PCAGrupuj cyfryNazwij grupyZnajdź te nietypowe2Wybór k
InercjaMetoda łokciaWyniki silhouetteSkalowanie przed klasteryzacjąPodsumowanie: strefy dostawPoćwicz samodzielnie: Kompilator Python online