Menu
CoddyTech

Observer les chiffres

Fait partie de la section Apprentissage non supervisé du Journey Machine Learning de Coddy. Leçon 43 sur 51.

Votre dernier projet : 1 797 scans manuscrits et aucun enseignant. En cinq leçons, vous trouverez des groupes comme ceux-ci sans lire une seule étiquette :

Dix images floues de chiffres gris sur deux rangées, les centres des dix groupes trouvés par k-means dans les scans : un 9, un 1 ou un 8 flou, un 7, un 6, un 2, un 0, un 3, un 4, un 5 et un 1 fin

Chaque projet commence par l’observation. La dispersion d’un pixel, son écart-type sur de nombreux scans, montre où les rédacteurs ne sont pas d’accord. Ici, sur tous les 7 :

Grille de 8 sur 8 représentant les dispersions des pixels des 7, en bleu plus foncé pour les valeurs plus élevées : élevée le long de la barre supérieure et du trait descendant, 0.0 sur le bord gauche et en bas à droite

spread = X[y == 7].std(axis=0)
print((spread == 0).sum())

Cela affiche 15 : quinze pixels sur 7 sont vides. Un pixel qui ne change jamais n’apprend rien à un modèle.

challenge icon

Défi

Moyen

Commence à explorer. Le code de départ charge les scans dans X, les chiffres dans y et configure un graphique.

  1. Calcule l’écart de chaque pixel sur l’ensemble des scans. Affiche la ligne, la colonne et l’écart (2 décimales) du pixel le plus variable, puis le nombre de pixels qui restent blancs dans chaque scan.
  2. Représente-les sous forme d’une image de 8 par 8 sur ax, cmap="Blues", avec une barre de couleurs. Affiche-la.

Pour les 1 uniquement :

Busiest pixel: row 6, column 5 (spread 6.53)
Blank in every scan: 12 pixels

Une image de 8 par 8 intitulée Where Writers Disagree, accompagnée d’une barre de couleurs : l’écart de chaque pixel sur les 1, avec les lignes et les colonnes numérotées de 0 à 7 ; deux bandes sombres au milieu, là où les auteurs placent le trait à différents endroits, et des bords pâles à gauche et à droite

Le tien couvre les 1 797 scans. Coddy décrit ton image. Où les auteurs sont-ils le plus en désaccord ?

Essayez vous-même

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits

# 1,797 images de chiffres manuscrits : 64 pixels chacune (8 par 8, intensité de l’encre de 0 à 16) et le chiffre écrit
digits = load_digits()
X = digits.data
y = digits.target

fig, ax = plt.subplots()
ax.set_title("Where Writers Disagree")

# Écrivez votre code ci-dessous
quiz iconTestez-vous

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é

Entraînez-vous par vous-même : Compilateur Python en ligne