Menu
CoddyTech

Rakamları İncele

Coddy'nin Machine Learning Journey'sinin Denetimsiz Öğrenme bölümünün bir parçası. Ders 43 / 51.

Son projeniz: 1.797 el yazısıyla yazılmış tarama görüntüsü ve öğretmen yok. Beş ders boyunca, tek bir etiketi bile okumadan bunun gibi gruplar bulacaksınız:

İki sırada on bulanık gri rakam resmi; taramalarda k-means'in bulduğu on grubun merkezleri: bir 9, bulanık bir 1 ya da 8, bir 7, bir 6, bir 2, bir 0, bir 3, bir 4, bir 5 ve ince bir 1

Her proje bakarak başlar. Bir pikselin yayılımı, birçok taramadaki std değeri, yazanların nerede farklı düşündüğünü gösterir. Burada, tüm 7'ler üzerinde:

Yedilerin piksel yayılımlarını gösteren 8'e 8'lik bir ızgara; daha koyu mavi daha yüksek değerleri gösteriyor: üst çubuk boyunca ve aşağı uzanan çizgide yüksek, sol kenarda ve sağ altta 0.0

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

Bu, 15 değerini yazdırır: her 7 pikselden on beşi boştur. Hiç değişmeyen bir piksel modele hiçbir şey anlatmaz.

challenge icon

Görev

Orta

Keşfetmeye başla. Başlangıç kodu taramaları X içine, rakamları y içine yükler ve bir grafik hazırlar.

  1. Tüm taramalardaki her pikselin dağılımını bul. En yoğun pikselin satırını, sütununu ve dağılımını (2 ondalık basamakla), ardından her taramada boş kalan piksel sayısını yazdır.
  2. Bunları ax üzerinde 8'e 8'lik bir görsel olarak çiz; renk haritası olarak cmap="Blues" kullan ve bir renk çubuğu ekle. Görseli göster.

Yalnızca 1'ler için:

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

Yazarların Farklılaştığı Yer başlıklı 8'e 8'lik bir görsel ve renk çubuğu: 1'lerin tümündeki her pikselin dağılımı; satırlar ve sütunlar 0'dan 7'ye numaralandırılmıştır: ortada, yazarların çizgiyi farklı yerlere koyduğu iki koyu bant; solda ve sağda açık renkli kenarlar

Seninki 1.797 taramanın tümünü kapsıyor. Coddy görselini açıklıyor. Yazarlar en çok nerede farklılaşıyor?

Kendin dene

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

# 1,797 el yazısı taraması: her biri 64 piksel (8'e 8, mürekkep değeri 0 ile 16 arasında) ve yazılan rakam
digits = load_digits()
X = digits.data
y = digits.target

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

# Kodunuzu aşağıya yazın
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Denetimsiz Öğrenme bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi