מרכזים ביחידות ממשיות
חלק מהיחידה למידה בלתי מונחית במסלול ה-Machine Learning של Coddy. שיעור 12 מתוך 51.
המרכז של אשכול הוא החבר הטיפוסי בו. K-means מצא את מרכזי פארק השעשועים בנתונים שעברו תקנון, ולכן הם מוצגים כציוני z. אותם מרכזים, לפני ואחרי:
שמרו את המתאים: הוא זוכר את הממוצע והפיזור של כל תכונה, ו-inverse_transform מבטל את שינוי קנה המידה:
scaler = StandardScaler()
km.fit(scaler.fit_transform(park))
centers = scaler.inverse_transform(km.cluster_centers_)
print(centers.round(1))הדבר מדפיס שעות, נסיעות וגיל, שורה אחת לכל אשכול:
[[ 6. 6.2 38.4]
[ 2.4 3. 45.8]
[ 6.8 13.9 20.7]]המרכז של אשכול 2 היה 0.8 ו-1.3. עכשיו הוא מציג 6.8 שעות ו-13.9 נסיעות: אותה נקודה, ביחידות שאדם יכול להשתמש בהן.
אתגר
בינונייצרן כפפות מחלק אשכולות של כפות ידיים ל־4 מידות כפפה. קוד הפתיחה מבצע קנה מידה ל־150 כפות ידיים, מקבץ אותן וקורא את כף היד של הלקוח אל new_hand.
- מצאו לאיזה אשכול מצטרפת כף היד החדשה: תחילה בצעו לה קנה מידה.
- החזירו את המרכזים ליחידות ס״מ.
- הדפיסו את מרכז האשכול הזה, עם ספרה אחת אחרי הנקודה, כמו בהמשך.
עבור יצרן כפפות אחר:
Your glove size: hand 20.3 cm, palm 8.9 cm, finger 8.6 cmנסו בעצמכם
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
# 150 כפות ידיים שיצרן כפפות מדד, בס"מ: אורך כף היד, רוחב כף היד, האצבע האמצעית
hands = pd.read_csv("hands.csv")
scaler = StandardScaler()
scaled = scaler.fit_transform(hands)
# אשכול אחד לכל מידת כפפה
km = KMeans(n_clusters=4, n_init=10, random_state=0)
km.fit(scaled)
# כף היד של לקוח חדש, כטבלה בעלת שורה אחת עם אותן עמודות
new_hand = pd.DataFrame({
"hand_cm": [float(input())],
"palm_cm": [float(input())],
"finger_cm": [float(input())],
})
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה למידה בלתי מונחית
3הבנת אשכולות
אפיון אשכולותמרכזים ביחידות ממשיותאשכולות לעומת תוויות ידועותכש־K-Means נכשלסיכום: טעימת תהתרגלו בעצמכם: קומפיילר Python אונליין