Menu
CoddyTech

Przyjrzyj się cyfrom

Część sekcji Uczenie nienadzorowane ścieżki Machine Learning w Coddy. Lekcja 43 z 51.

Twój ostatni projekt: 1797 odręcznych skanów i żadnego nauczyciela. W ciągu pięciu lekcji znajdziesz grupy takie jak te, nie odczytując ani jednej etykiety:

Dziesięć niewyraźnych szarych obrazów cyfr w dwóch rzędach — środki dziesięciu grup znalezionych przez k-means na skanach: 9, niewyraźne 1 lub 8, 7, 6, 2, 0, 3, 4, 5 i cienka 1

Każdy projekt zaczyna się od obserwacji. Rozrzut piksela, czyli jego odchylenie standardowe w wielu skanach, pokazuje, w których miejscach piszący się nie zgadzają. Tutaj, dla wszystkich 7:

Siatka 8 na 8 przedstawiająca rozrzut pikseli siódemek; im ciemniejszy niebieski, tym większy rozrzut: duży wzdłuż górnej kreski i kreski w dół, 0.0 przy lewej krawędzi i w prawym dolnym rogu

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

To wypisuje 15: w każdym ciągu 7 pikseli pozostaje pustych. Piksel, który nigdy się nie zmienia, niczego nie mówi modelowi.

challenge icon

Wyzwanie

Średni

Rozpocznij eksplorację. Kod startowy wczytuje skany do X, cyfry do y i przygotowuje wykres.

  1. Znajdź rozrzut każdego piksela we wszystkich skanach. Wypisz wiersz, kolumnę i rozrzut najbardziej zróżnicowanego piksela (2 miejsca po przecinku), a następnie liczbę pikseli, które pozostają puste na każdym skanie.
  2. Narysuj je jako obraz o wymiarach 8 na 8 na ax, używając cmap="Blues" i paska kolorów. Wyświetl go.

Tylko dla jedynek:

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

Obraz o wymiarach 8 na 8 zatytułowany Where Writers Disagree z paskiem kolorów: rozrzut każdego piksela dla jedynek, wiersze i kolumny ponumerowane od 0 do 7: dwa ciemne pasma biegnące przez środek, gdzie autorzy umieszczają kreskę w różnych miejscach, oraz jasne krawędzie po lewej i prawej stronie

Twój obejmuje wszystkie 1,797 skanów. Coddy opisuje Twój obraz. Gdzie autorzy najbardziej się różnią?

Spróbuj swoich sił

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

# 1,797 odręcznie napisanych cyfr: każda ma 64 piksele (8 na 8, intensywność tuszu od 0 do 16) oraz etykietę zapisanej cyfry
digits = load_digits()
X = digits.data
y = digits.target

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

# Wpisz swój kod poniżej
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Uczenie nienadzorowane

Poćwicz samodzielnie: Kompilator Python online