סיכום: גזעי כלבים
חלק מהיחידה למידה בלתי מונחית במסלול ה-Machine Learning של Coddy. שיעור 19 מתוך 51.
אתגר
בינוניבמקלט כלבים יש חמישה חדרי כלביות, והוא רוצה שגזעים דומים יחלקו חדר. breeds.csv מכיל 21 גזעים; קוד הפתיחה קובע את גובה החיתוך, cut.
- נרמלו את
featuresובנו עץ ward. - שרטטו את הדנדרוגרמה שלו על
ax: שמות הגזעים מסובבים ב־90 מעלות, הצבעים נפסקים בגובה החיתוך, וקו חיתוך אפור ומקוטע. הציגו אותו. - חתכו את העץ, אפיינו את הקבוצות ביחידות המקוריות והדפיסו אותן מהקלות לכבדות, כשכל קבוצה נקראת על שם הגזע הראשון שלה.
עבור מקלט אחר:
5 breeds like Maltese: 4.1 kg, 24 cm, energy 3.2, 14.4 years
3 breeds like Whippet: 12.7 kg, 46 cm, energy 4.7, 13.3 yearsוהעץ שלו, חתוך ל־2 קבוצות:
לאחר מכן Coddy מתאר את העץ שלך.
נסו בעצמכם
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from scipy.cluster.hierarchy import linkage, dendrogram, fcluster
# 21 גזעי כלבים: משקל (kg), גובה (cm), רמת אנרגיה מ-1 עד 5, תוחלת חיים (שנים)
breeds = pd.read_csv("breeds.csv")
features = ["weight_kg", "height_cm", "energy", "lifespan_yr"]
# למקלט יש חמישה חדרי כלבייה, ולכן הוא חותך את העץ שלו בגובה הזה
cut = 2.5
fig, ax = plt.subplots(figsize=(8, 5))
fig.subplots_adjust(bottom=0.35) # מקום לשמות מתחת לעץ
ax.set_title("Dog Breeds")
ax.set_ylabel("Merge height")
# כתבו את הקוד שלכם למטה
כל השיעורים ביחידה למידה בלתי מונחית
תרגלו בעצמכם: קומפיילר Python אונליין