אפיון אשכולות
חלק מהיחידה למידה בלתי מונחית במסלול ה-Machine Learning של Coddy. שיעור 11 מתוך 51.
הפרק הזה הופך מספרי אשכולות לקבוצות שאנשים יכולים להשתמש בהן. בסופו, לכל אשכול יהיה שם:
מספר כמו 2 לא אומר כלום. הפרופיל שלו כן: הממוצע של כל תכונה בתוך האשכול. הוסיפו את התוויות כעמודה, ואז קבצו:
park["cluster"] = km.labels_
print(park.groupby("cluster").mean().round(1))הפעולה הזו מדפיסה שורה אחת לכל אשכול:
hours rides age
cluster
0 6.0 6.2 38.4
1 2.4 3.0 45.8
2 6.8 13.9 20.7עכשיו קראו את השורות כמילים. אשכול 2 צעיר, נשאר 7 שעות ונוסע ב-14 מתקנים: מחפשי ריגושים. אשכול 1 עוזב מוקדם: מבקרים לזמן קצר.
אתגר
בינוניבר קריוקי רוצה להכיר את האורחים שלו. קוד הפתיחה מחלק אותם ל־3 אשכולות; names מכיל שם לכל אשכול, מהאשכול עם הכי מעט ביקורים בחודש ועד לזה עם הכי הרבה.
- הוסף את התוויות ל־
guestsבתור עמודתcluster. - אפיין את האשכולות: הממוצעים שלהם ומספר האורחים בכל אחד, ממוינים לפי
visits_month. - הדפס שורה אחת לכל אשכול, עם השם שלו והממוצעים בדיוק של ספרה אחת אחרי הנקודה.
עבור בר אחר:
Once in a while: 30 guests, 1.4 visits a month, 2.5 songs, 3.2 hours
Regulars: 45 guests, 3.0 visits a month, 4.6 songs, 2.0 hours
Superfans: 15 guests, 7.4 visits a month, 9.2 songs, 2.8 hoursנסו בעצמכם
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
# 110 אורחים בבר קריוקי: visits a month, שירים לביקור, שעות לביקור
guests = pd.read_csv("karaoke.csv")
scaled = StandardScaler().fit_transform(guests)
km = KMeans(n_clusters=3, n_init=10, random_state=0)
km.fit(scaled)
# שמות הקבוצות, ממספר הביקורים החודשיים הנמוך ביותר לגבוה ביותר
names = ["Once in a while", "Regulars", "Superfans"]
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה למידה בלתי מונחית
תרגלו בעצמכם: קומפיילר Python אונליין