PCA nu învață părți componente
Spre deosebire de NMF, PCA nu învață părțile componente ale lucrurilor. Componentele sale nu corespund unor teme (în cazul documentelor) și nici unor părți ale imaginilor, atunci când este antrenat pe imagini. Verifică acest lucru prin inspecția componentelor unui model PCA antrenat pe setul de date cu imagini ale cifrelor LED din exercițiul anterior. Imaginile sunt disponibile ca un array 2D numit samples. De asemenea, ai la dispoziție o versiune modificată a funcției show_as_image(), care colorează un pixel în roșu dacă valoarea acestuia este negativă.
După ce trimiți răspunsul, observă că și componentele PCA nu reprezintă părți semnificative ale imaginilor cu cifre LED!
Acest exercițiu face parte din cursul
Învățare nesupervizată în Python
Instrucțiuni pentru exercițiu
- Importă
PCAdinsklearn.decomposition. - Creează o instanță
PCAnumitămodelcu7componente. - Aplică metoda
.fit_transform()a modeluluimodelpesamples. Atribuie rezultatul variabileifeatures. - Pentru fiecare componentă a modelului (accesată prin
model.components_), aplică funcțiashow_as_image()acelei componente în interiorul buclei.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Import PCA
____
# Create a PCA instance: model
model = ____
# Apply fit_transform to samples: features
features = ____
# Call show_as_image on each component
for component in ____:
____