Menu
CoddyTech

Kelompokkan Digit

Termasuk bagian Pembelajaran Tanpa Pengawasan dalam perjalanan Machine Learning di Coddy. Pelajaran 45 dari 51.

Sekarang penemuannya. Minta k-means membuat 10 kelompok dari pemindaian 13 angka, satu untuk setiap digit yang kamu harap ditemukan. Algoritma ini tidak pernah melihat label:

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

Sebuah pusat berada di ruang PCA tempat k-means bekerja: 13 angka, tanpa gambar. pca.inverse_transform membangunnya kembali menjadi 64 piksel:

Kiri, diagram batang berisi 13 angka dari satu pusat k-means, dua batang pertama tinggi, lalu batang-batang kecil. Kanan, pusat yang sama dibangun kembali sebagai gambar buram berukuran 8 kali 8 yang tampak seperti angka 0

value_counts() menampilkan cluster dari yang terbesar terlebih dahulu, sehingga galeri pusat cluster terbaca seperti sensus hasil pemindaian.

challenge icon

Tantangan

Sedang

Kode awal menyediakan hasil pindai dan X_small, versi 13 angkanya.

  1. Temukan 10 cluster di X_small dengan k-means.
  2. Bangun kembali 64 piksel setiap pusat.
  3. Buat galeri 2 kali 5, mulai dari cluster terbesar: tampilkan setiap pusat sebagai gambar 8 kali 8 dengan gray_r, beri judul sesuai ukurannya, seperti 120 scans. Rapikan tata letaknya, lalu tampilkan.

Dengan 5 cluster, tampilannya akan seperti ini:

Lima pusat digit buram dalam satu baris, berjudul 531, 367, 363, 359, dan 177 hasil pindai

Hasilmu memiliki sepuluh cluster. Coddy mendeskripsikan setiap grafik. Digit apa yang ditemukan k-means sendiri?

Coba sendiri

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

# Dari Look at the Digits: 1,797 hasil pindai dengan 64 piksel, intensitas tinta dari 0 hingga 16
digits = load_digits()
X = digits.data
y = digits.target

# Dari Shrink with PCA: 80% variansi dalam 13 angka per hasil pindai
pca = PCA(n_components=0.8)
X_small = pca.fit_transform(X)

# Tulis kodemu di bawah ini
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pembelajaran Tanpa Pengawasan

Latihan sendiri: Compiler Python online