Menu
CoddyTech

Dígitos de un vistazo

Parte de la sección Datos y gráficos del Journey de Machine Learning de Coddy. Lección 59 de 60.

load_digits contiene 1.797 dígitos escritos a mano. Cada muestra consta de 64 niveles de brillo de píxeles, fila tras fila de una imagen de 8 por 8, desde 0 (en blanco) hasta 16 (tinta completa).

No hay dos escritores que dibujen un 4 igual:

Diez cuatros escritos a mano de load_digits en dos filas de cinco, con tinta blanca sobre fondo negro; cada uno está inclinado y tiene una forma un poco diferente

Un profesor quiere la típica: la imagen promedio, donde cada píxel es la media de ese píxel en todas las muestras del dígito.

challenge icon

Desafío

Difícil

El programa lee un dígito d. Carga los dígitos sin as_frame, para que .data y .target sean arreglos de NumPy.

  1. Calcula la imagen promedio del dígito d.
  2. Imprime la fila y la columna de su píxel más brillante, contando desde 0.
  3. Imprime su promedio de tinta: la media de las medias de sus 64 píxeles, redondeada a 2 decimales con np.round.
  4. Dibújala como una imagen de 8 por 8 en gray, titulada Average y el dígito.

La tuya debería verse así, para el 4:

Una imagen gris de 8 por 8 titulada Average 4: un 4 blanco, suave y borroso sobre fondo negro, más brillante donde la mayoría de quienes escriben cruzan el trazo

Para la entrada 4, la salida completa es:

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]

Pruébalo tú mismo

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

d = int(input())

# Escribe tu código a continuación
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Datos y gráficos

Practica por tu cuenta: Compilador de Python online