קיבוץ הספרות
חלק מהיחידה למידה בלתי מונחית במסלול ה-Machine Learning של Coddy. שיעור 45 מתוך 51.
עכשיו הגילוי. בקש מ-k-means ליצור 10 קבוצות בסריקות של 13 מספרים, אחת לכל ספרה שאתה מקווה שהוא ימצא. הוא אף פעם לא רואה תווית:
km = KMeans(n_clusters=10, n_init=10, random_state=0).fit(X_small)מרכז נמצא במקום שבו k-means עבד, במרחב PCA: 13 מספרים, בלי תמונה. pca.inverse_transform משחזר את 64 הפיקסלים שלו:
value_counts() מציגה את האשכולות מהגדול ביותר לקטן ביותר, כך שגלריה של המרכזים נקראת כמו מפקד של הסריקות.
אתגר
בינוניהקוד ההתחלתי כולל את הסריקות ואת X_small, הגרסאות שלהן עם 13 מספרים.
- מצאו 10 אשכולות ב-
X_smallבעזרת k-means. - שחזרו את 64 הפיקסלים של כל מרכז.
- ציירו גלריה של 2 על 5, כשהאשכול הגדול ביותר מופיע ראשון: הציגו כל מרכז כתמונה בגודל 8 על 8 ב-
gray_r, עם כותרת המציינת את גודלו, למשל120 scans. סדרו את הפריסה והציגו אותה.
עם 5 אשכולות, זה היה נראה כך:
שלכם כולל עשרה. Coddy מתאר כל תרשים. אילו ספרות k-means מצא בעצמו?
נסו בעצמכם
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
# מתוך Look at the Digits: 1,797 סריקות של 64 פיקסלים, ערכי דיו מ-0 עד 16
digits = load_digits()
X = digits.data
y = digits.target
# מתוך Shrink with PCA: 80% מהשונות ב-13 מספרים לכל סריקה
pca = PCA(n_components=0.8)
X_small = pca.fit_transform(X)
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה למידה בלתי מונחית
תרגלו בעצמכם: קומפיילר Python אונליין