Składowe jako wzorce
Część sekcji Uczenie nienadzorowane ścieżki Machine Learning w Coddy. Lekcja 30 z 51.
Na co patrzyła metoda PCA? Każda składowa składa się z 64 wag, po jednej na piksel, a components_ przechowuje jeden wiersz dla każdej składowej:
pca = PCA(n_components=4).fit(X)
print(pca.components_.shape)To wyświetla (4, 64). Zmień kształt wiersza na 8 na 8, a stanie się obrazem. cmap="gray_r" oznacza odwróconą skalę szarości: duże wagi są ciemne, ujemne — jasne:
ax.imshow(pca.components_[0].reshape(8, 8), cmap="gray_r")Składowa 1 jest ciemna tam, gdzie czwórki i szóstki mają tusz, dlatego trafiają na prawą stronę mapy. Skan otrzymuje wysoką ocenę, gdy jego tusz pada na ciemne piksele.
Wyzwanie
ŚredniNauczyciel kaligrafii chce zobaczyć, jak ludzie zapisują jedną cyfrę. Program odczytuje cyfrę, a kod startowy przechowuje skany w X.
- Dopasuj PCA z 3 komponentami do
X. - Narysuj komponent
inaaxs[i]jako obraz o wymiarach 8 na 8, używająccmap="gray_r", z tytułem odComponent 1doComponent 3. - Wyświetl wykres.
Dla dwójek rysuje taki obraz. Następnie Coddy opisuje Twoje panele:
Spróbuj swoich sił
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
# Każdy skan jednej cyfry wczytanej z wejścia: 64 piksele w wierszu
d = int(input())
digits = load_digits()
X = digits.data[digits.target == d]
# Nie zmieniaj poniższej linii
fig, axs = plt.subplots(1, 3)
# 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