Compresser et reconstruire
Fait partie de la section Apprentissage non supervisé du Journey Machine Learning de Coddy. Leçon 31 sur 51.
Les scores des composantes d’un scan sont une recette : partez du scan moyen, puis ajoutez chaque motif multiplié par son score. inverse_transform suit la recette en sens inverse pour revenir à 64 pixels :
pca = PCA(n_components=10).fit(X)
codes = pca.transform(X) # 10 nombres par scan
rebuilt = pca.inverse_transform(codes) # à nouveau 64 pixelsVoici trois scans reconstruits à partir d'un nombre de plus en plus grand de nombres :
Quelques nombres donnent un flou proche du chiffre moyen ; chaque composante ajoutée restaure les détails. Vingt nombres au lieu de 64 suffisent déjà à obtenir une lecture claire.
Défi
MoyenUn stylo intelligent transmet chaque chiffre sous forme de k nombres PCA, lus par le programme. Que perd-on ?
- Ajuste PCA avec
kcomposantes surX. Compresse tous les scans, puis reconstruis-les dansrebuilt. - Affiche les lignes ci-dessous ; l’erreur est la différence absolue moyenne par rapport à
X. - Dessine le scan le plus récent,
X[-1], suraxs[0]et sa reconstruction suraxs[1], tous deux engray_r. Affiche.
Pour 7 :
Sent: 7 numbers per scan instead of 64
Average pixel error: 1.739et dessine ceci. Coddy décrit ensuite tes panneaux :
Essayez vous-même
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
# 1,797 scans de 64 pixels ; le scan le plus récent du stylet se trouve sur la dernière ligne
digits = load_digits()
X = digits.data
k = int(input())
# Ne modifiez pas les lignes ci-dessous
fig, axs = plt.subplots(1, 2)
axs[0].set_title("Scan")
axs[1].set_title(f"Rebuilt from {k} numbers")
# Écrivez votre code ci-dessous
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Apprentissage non supervisé
1Découvrir des groupes
Apprendre sans étiquettesMesurer la similaritéK-Means à la mainK-Means avec scikit-learnRécapitulatif : les membres de la salle de sport4Classification hiérarchique
Fusion étape par étapeModèles agglomératifsDendrogrammesRécapitulatif : races de chiens7L’ACP en pratique
Visualiser 64 dimensionsLes composantes comme motifsCompresser et reconstruireL’ACP avant un modèleRécapitulatif : scanner de visages10Projet : Explorateur de chiffres
Observer les chiffresRéduire avec la PCARegrouper les chiffresNommer les groupesRepérer les intrus2Choisir k
InertieLa méthode du coudeScores de silhouetteMettre à l’échelle avant le clusteringRécapitulatif : zones de livraisonEntraînez-vous par vous-même : Compilateur Python en ligne