Menu
CoddyTech

סיכום: גזעי כלבים

חלק מהיחידה למידה בלתי מונחית במסלול ה-Machine Learning של Coddy. שיעור 19 מתוך 51.

challenge icon

אתגר

בינוני

במקלט כלבים יש חמישה חדרי כלביות, והוא רוצה שגזעים דומים יחלקו חדר. breeds.csv מכיל 21 גזעים; קוד הפתיחה קובע את גובה החיתוך, cut.

  1. נרמלו את features ובנו עץ ward.
  2. שרטטו את הדנדרוגרמה שלו על ax: שמות הגזעים מסובבים ב־90 מעלות, הצבעים נפסקים בגובה החיתוך, וקו חיתוך אפור ומקוטע. הציגו אותו.
  3. חתכו את העץ, אפיינו את הקבוצות ביחידות המקוריות והדפיסו אותן מהקלות לכבדות, כשכל קבוצה נקראת על שם הגזע הראשון שלה.

עבור מקלט אחר:

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 קבוצות:

עץ שכותרתו Dog Breeds ובו 8 גזעים, השמות פונים כלפי מעלה, וקו חיתוך אפור ומקוטע בגובה 4 חוצה שני ענפים צבעוניים: Maltese, Shih Tzu, Bichon Frise, Papillon ו-Toy Poodle; Whippet, Brittany ו-Basenji

לאחר מכן 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 אונליין