Menu
CoddyTech

Les chiffres en un coup d’œil

Fait partie de la section Données et visualisations du Journey Machine Learning de Coddy. Leçon 59 sur 60.

load_digits contient 1 797 chiffres manuscrits. Chaque échantillon correspond aux niveaux de luminosité de 64 pixels, ligne après ligne d’une image de 8 sur 8, de 0 (blanc) à 16 (encre pleine).

Deux auteurs ne dessinent jamais un 4 de la même façon :

Dix 4 manuscrits de load_digits en deux rangées de cinq, à l’encre blanche sur fond noir, chacun légèrement incliné et de forme différente

Un enseignant veut l’image typique : l’image moyenne, où chaque pixel est la moyenne de ce pixel sur l’ensemble des échantillons du chiffre.

challenge icon

Défi

Difficile

Le programme lit un chiffre d. Charge les chiffres sans as_frame, afin que .data et .target soient des tableaux NumPy.

  1. Calcule l’image moyenne du chiffre d.
  2. Affiche la ligne et la colonne de son pixel le plus lumineux, en commençant à compter à partir de 0.
  3. Affiche son encre moyenne : la moyenne des moyennes de ses 64 pixels, arrondie à 2 décimales avec np.round.
  4. Dessine-le sous forme d’image de 8 par 8 en gray, avec pour titre Average et le chiffre.

Le résultat devrait ressembler à ceci, pour 4 :

Une image grise de 8 par 8 intitulée Average 4 : un 4 blanc doux et flou sur fond noir, plus lumineux là où la plupart des personnes qui l’ont écrit croisent le trait

Pour l’entrée 4, la sortie complète est :

Brightest pixel: row 5, column 4
Average ink: 4.85
Charts drawn: 1
Title: Average 4
Images: 1
Size: 8 rows, 8 columns
Color map: gray
Row 0: [0.0, 0.0, 0.5, 7.1, 11.5, 2.0, 0.2, 0.1]
Row 1: [0.0, 0.1, 3.5, 13.3, 8.5, 2.0, 1.1, 0.3]
Row 2: [0.0, 0.7, 10.5, 11.4, 4.9, 5.8, 3.8, 0.3]
Row 3: [0.0, 4.6, 14.5, 6.4, 7.4, 10.6, 6.1, 0.0]
Row 4: [0.0, 8.6, 14.6, 9.7, 13.0, 14.0, 5.3, 0.0]
Row 5: [0.1, 6.3, 11.3, 12.4, 14.6, 10.4, 1.6, 0.0]
Row 6: [0.1, 1.1, 2.9, 7.8, 13.5, 4.2, 0.0, 0.0]
Row 7: [0.0, 0.0, 0.6, 7.8, 11.8, 2.0, 0.0, 0.0]

Essayez vous-même

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

d = int(input())

# É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 Données et visualisations

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