Menu
CoddyTech

Grupuj cyfry

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

A teraz odkrywanie. Poproś k-means o podział 13-elementowych skanów na 10 grup — po jednej na każdą cyfrę, którą ma znaleźć. Algorytm nigdy nie widzi etykiety:

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

Środek znajduje się tam, gdzie działał k-means, w przestrzeni PCA: 13 liczb, żadnego obrazka. pca.inverse_transform odtwarza jego 64 piksele:

Po lewej wykres słupkowy 13 liczb jednego środka k-means: najpierw dwa wysokie słupki, potem niskie. Po prawej ten sam środek odtworzony jako rozmazany obrazek o wymiarach 8 na 8, który wygląda jak 0

value_counts() wyświetla klastry od największego, więc galeria środków przypomina spis skanów.

challenge icon

Wyzwanie

Średni

Plik startowy zawiera skany i X_small — ich reprezentacje za pomocą 13 liczb.

  1. Znajdź 10 skupień w X_small za pomocą k-średnich.
  2. Odtwórz 64 piksele każdego środka.
  3. Narysuj galerię 2 na 5, zaczynając od największego skupienia: przedstaw każdy środek jako obraz 8 na 8 w gray_r i dodaj tytuł z jego rozmiarem, na przykład 120 scans. Uporządkuj układ i wyświetl.

Przy 5 skupieniach wyglądałoby to tak:

Pięć rozmytych środków cyfr w rzędzie, z tytułami: 531, 367, 363, 359 i 177 skanów

Twoja galeria ma dziesięć obrazów. Coddy opisuje każdy wykres. Które cyfry k-średnie znalazły samodzielnie?

Spróbuj swoich sił

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

# Z „Look at the Digits”: 1,797 skanów po 64 piksele, intensywność tuszu od 0 do 16
digits = load_digits()
X = digits.data
y = digits.target

# Z „Shrink with PCA”: 80% wariancji ujęte w 13 liczbach na skan
pca = PCA(n_components=0.8)
X_small = pca.fit_transform(X)

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