Menu
CoddyTech

Dígitos Manuscritos

Parte da seção Aprendizado supervisionado do Journey de Machine Learning da Coddy. Lição 57 de 58.

A máquina de triagem de uma agência dos correios lê os algarismos manuscritos do código postal nas imagens digitalizadas em 8 por 8 que você viu em Dígitos de relance, load_digits:

Vinte algarismos manuscritos em duas fileiras, de 0 a 9 escritos por duas pessoas diferentes, desenhados como pequenas imagens digitalizadas em blocos cinza; alguns se parecem muito com outros algarismos

Dois candidatos querem a vaga: k-NN, com o k sugerido por um engenheiro, e uma floresta aleatória de 100 árvores.

Desta vez, os erros importam. O escritório precisa do vencedor mais justo, de sua pontuação em exames não vistos e de sua confusão mais comum, então esses dígitos vão para uma pessoa.

challenge icon

Desafio

Difícil

O programa lê o k informado pelo engenheiro; o código inicial configura um gráfico com título.

  1. Separe um quarto estratificado para teste, random_state=0.
  2. Faça validação cruzada do k-NN com esse k e de uma floresta com 100 árvores (random_state=0), usando 5 folds nas linhas de treinamento. Imprima cada média (3 casas decimais) e o vencedor.
  3. Ajuste o vencedor e imprima sua acurácia no teste.
  4. Imprima o maior erro na matriz de confusão do teste, depois desenhe a matriz em ax e exiba-a.

Para outra máquina e 3:

k-NN: CV accuracy 0.979
Random forest: CV accuracy 0.968
Winner: k-NN
Test accuracy: 0.976
Most confused: 7 read as 2 (3 times)

Em seguida, o Coddy apresenta sua matriz.

Experimente você mesmo

import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.neighbors import KNeighborsClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay

digits = load_digits()
X = digits.data
y = digits.target
k = int(input())

fig, ax = plt.subplots()
ax.set_title("Test Digits")

# 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 supervisionado

Pratique por conta própria: Compilador de Python online