Menu
CoddyTech

Agrupa los dígitos

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

Ahora, el descubrimiento. Pídele a k-means 10 grupos en las exploraciones de 13 números, uno por cada dígito que esperas que encuentre. Nunca ve una etiqueta:

km = KMeans(n_clusters=10, n_init=10, random_state=0).fit(X_small)

Un centro reside donde trabajó k-means, en el espacio PCA: 13 números, ninguna imagen. pca.inverse_transform reconstruye sus 64 píxeles:

A la izquierda, un gráfico de barras con los 13 números de un centro de k-means's; primero, dos barras altas y después unas pequeñas. A la derecha, el mismo centro reconstruido como una imagen borrosa de 8 por 8 que parece un 0

value_counts() enumera los clústeres del más grande al más pequeño, así que una galería de centros se lee como un censo de los escaneos.

challenge icon

Desafío

Intermedio

El código inicial incluye los escaneos y X_small, sus versiones de 13 números.

  1. Encuentra 10 clústeres en X_small con k-means.
  2. Reconstruye los 64 píxeles de cada centro.
  3. Dibuja una galería de 2 por 5, empezando por el clúster más grande: cada centro como una imagen de 8 por 8 en gray_r, con el tamaño como título, por ejemplo, 120 scans. Ordena el diseño y muéstralo.

Con 5 clústeres, se vería así:

Cinco centros de dígitos borrosos en una fila, titulados 531, 367, 363, 359 y 177 escaneos

El tuyo tiene diez. Coddy describe cada gráfico. ¿Qué dígitos encontró k-means por sí solo?

Pruébalo tú mismo

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
from sklearn.cluster import KMeans

# De Look at the Digits: 1,797 imágenes de 64 píxeles, con niveles de tinta de 0 a 16
digits = load_digits()
X = digits.data
y = digits.target

# De Shrink with PCA: 80% de la varianza en 13 números por imagen
pca = PCA(n_components=0.8)
X_small = pca.fit_transform(X)

# 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