Menu
CoddyTech

Observa los dígitos

Parte de la sección Aprendizaje no supervisado del Journey de Machine Learning de Coddy. Lección 43 de 51.

Tu último proyecto: 1.797 imágenes escaneadas manuscritas y ningún docente. A lo largo de cinco lecciones, encontrarás grupos como estos sin leer una sola etiqueta:

Diez imágenes borrosas de dígitos grises en dos filas, los centros de diez grupos que k-means encontró en las imágenes escaneadas: un 9, un 1 o un 8 borroso, un 7, un 6, un 2, un 0, un 3, un 4, un 5 y un 1 delgado

Todo proyecto empieza observando. La dispersión de un píxel, su desviación estándar en muchos escaneos, muestra dónde no coinciden quienes escriben. Aquí, para todos los 7:

Cuadrícula de 8 por 8 de las dispersiones de píxeles de los sietes', con azul más oscuro para valores mayores: alta a lo largo de la barra superior y del trazo hacia abajo, 0.0 en el borde izquierdo y en la esquina inferior derecha

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

Esto imprime 15: en cada 7, quince píxeles están en blanco. Un píxel que nunca cambia no le dice nada a un modelo.

challenge icon

Desafío

Intermedio

Empieza a explorar. El código inicial carga los escaneos en X, los dígitos en y y prepara un gráfico.

  1. Encuentra la dispersión de cada píxel en todos los escaneos. Imprime la fila, la columna y la dispersión del píxel más variable (2 decimales); después, cuántos píxeles permanecen en blanco en todos los escaneos.
  2. Dibújalos como una imagen de 8 por 8 en ax, cmap="Blues", con una barra de color. Muéstrala.

Solo para los 1:

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

Una imagen de 8 por 8 titulada En qué puntos discrepan quienes escriben, con una barra de color: la dispersión de cada píxel en los 1, filas y columnas numeradas del 0 al 7: dos franjas oscuras por el centro, donde quienes escriben colocan el trazo en distintos lugares, y bordes claros a izquierda y derecha

La tuya abarca los 1.797 escaneos. Coddy describe tu imagen. ¿En qué punto discrepan más quienes escriben?

Pruébalo tú mismo

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

# 1,797 imágenes escaneadas de escritura a mano: 64 píxeles cada una (8 por 8, intensidad de tinta de 0 a 16) y el dígito escrito
digits = load_digits()
X = digits.data
y = digits.target

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

# 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 Aprendizaje no supervisado

Practica por tu cuenta: Compilador de Python online