Kompresuj i odtwórz
Część sekcji Uczenie nienadzorowane ścieżki Machine Learning w Coddy. Lekcja 31 z 51.
Wyniki składowych skanu to przepis: zacznij od średniego skanu, a następnie dodaj każdy wzorzec pomnożony przez jego wynik. inverse_transform odtwarza przepis, przywracając 64 piksele:
pca = PCA(n_components=10).fit(X)
codes = pca.transform(X) # 10 liczb na skan
rebuilt = pca.inverse_transform(codes) # ponownie 64 pikseleOto trzy skany odtworzone z coraz większej liczby liczb:
Niewiele liczb daje rozmyty obraz zbliżony do przeciętnej cyfry; każdy dodany komponent przywraca szczegóły. Już dwadzieścia liczb zamiast 64 pozwala wyraźnie odczytać cyfrę.
Wyzwanie
ŚredniInteligentny długopis przesyła każdą cyfrę jako k liczb PCA, odczytywanych przez program. Co zostaje utracone?
- Dopasuj PCA z
kskładowymi doX. Skompresuj wszystkie skany, a następnie odtwórz je wrebuilt. - Wypisz poniższe wiersze; błąd to średnia bezwzględna różnica względem
X. - Narysuj najnowszy skan,
X[-1], naaxs[0], a jego odtworzenie naaxs[1], oba wgray_r. Wyświetl.
Dla 7:
Sent: 7 numbers per scan instead of 64
Average pixel error: 1.739i rysuje to. Następnie Coddy opisuje Twoje panele:
Spróbuj swoich sił
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
# 1,797 skanów po 64 piksele; najnowszy skan pióra znajduje się w ostatnim wierszu
digits = load_digits()
X = digits.data
k = int(input())
# Nie zmieniaj poniższych linii
fig, axs = plt.subplots(1, 2)
axs[0].set_title("Scan")
axs[1].set_title(f"Rebuilt from {k} numbers")
# 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