Menu
CoddyTech

Observe os Dígitos

Parte da seção Aprendizado não supervisionado do Journey de Machine Learning da Coddy. Lição 43 de 51.

Seu último projeto: 1.797 imagens digitalizadas de números escritos à mão e nenhum professor. Ao longo de cinco lições, você encontrará grupos como estes sem ler um único rótulo:

Dez imagens borradas em tons de cinza de algarismos, em duas fileiras, os centros de dez grupos encontrados pelo k-means nas imagens digitalizadas: um 9, um 1 ou 8 borrado, um 7, um 6, um 2, um 0, um 3, um 4, um 5 e um 1 fino

Todo projeto começa observando. A dispersão de um pixel, seu desvio padrão em várias varreduras, mostra onde os autores divergem. Aqui, em todos os 7:

Uma grade 8 por 8 das dispersões dos pixels dos 7; azul mais escuro indica valores maiores: altos ao longo da barra superior e do traço descendente, 0.0 ao longo da borda esquerda e no canto inferior direito

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

Isso imprime 15: quinze pixels ficam em branco a cada 7. Um pixel que nunca muda não informa nada a um modelo.

challenge icon

Desafio

Médio

Comece a explorar. O código inicial carrega as imagens em X, os dígitos em y e configura um gráfico.

  1. Encontre a dispersão de cada pixel em todas as imagens. Imprima a linha, a coluna e a dispersão do pixel mais variável (2 casas decimais) e, em seguida, quantos pixels permanecem em branco em todas as imagens.
  2. Desenhe-os como uma imagem de 8 por 8 em ax, cmap="Blues", com uma barra de cores. Exiba-a.

Considerando apenas os dígitos 1:

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

Uma imagem de 8 por 8 intitulada Onde os escritores divergem, com uma barra de cores: a dispersão de cada pixel nos dígitos 1, linhas e colunas numeradas de 0 a 7: duas faixas escuras no meio, onde os escritores posicionam o traço em lugares diferentes, e bordas claras à esquerda e à direita

A sua abrange todas as 1.797 imagens. Coddy descreve a sua imagem. Onde os escritores mais divergem?

Experimente você mesmo

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

# 1,797 imagens digitalizadas de escrita à mão: 64 pixels cada (8 por 8, intensidade da tinta de 0 a 16) e o dígito escrito
digits = load_digits()
X = digits.data
y = digits.target

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

# Escreva seu código abaixo
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Aprendizado não supervisionado

Pratique por conta própria: Compilador de Python online