Menu
CoddyTech

Zusammenfassung: Hunderassen

Teil des Abschnitts Unüberwachtes Lernen der Machine Learning-Journey von Coddy. Lektion 19 von 51.

challenge icon

Aufgabe

Mittel

Ein Hundetierheim hat fünf Zwingerräume und möchte, dass ähnliche Rassen sich einen teilen. breeds.csv enthält 21 Rassen; der Starter legt die Schnitthöhe fest, cut.

  1. Skaliere die features und erstelle einen Ward-Baum.
  2. Zeichne sein Dendrogramm auf ax: Rassennamen um 90 Grad gedreht, Farben bis zur Schnitthöhe und eine graue gestrichelte Schnittlinie. Zeige es an.
  3. Schneide den Baum, erstelle Profile der Gruppen in realen Einheiten und gib sie vom leichtesten bis zum schwersten aus, wobei jede nach ihrer ersten Rasse benannt wird.

Für ein anderes Tierheim:

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

und dessen Baum, in 2 Gruppen unterteilt:

Ein Baum mit dem Titel Dog Breeds über 8 Rassen, deren Namen nach oben verlaufen, mit einer grauen gestrichelten Schnittlinie bei Höhe 4, die zwei farbige Äste kreuzt: Maltese, Shih Tzu, Bichon Frise, Papillon und Toy Poodle; Whippet, Brittany und Basenji

Dann beschreibt Coddy deinen Baum.

Probier es selbst

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from scipy.cluster.hierarchy import linkage, dendrogram, fcluster

# 21 Hunderassen: Gewicht (kg), Größe (cm), Energielevel von 1 bis 5, Lebenserwartung (Jahre)
breeds = pd.read_csv("breeds.csv")
features = ["weight_kg", "height_cm", "energy", "lifespan_yr"]
# Das Tierheim hat fünf Zwingerräume und schneidet den Baum daher auf dieser Höhe ab
cut = 2.5

fig, ax = plt.subplots(figsize=(8, 5))
fig.subplots_adjust(bottom=0.35)  # Platz für die Namen unter dem Baum
ax.set_title("Dog Breeds")
ax.set_ylabel("Merge height")

# Schreibe deinen Code unten

Alle Lektionen in Unüberwachtes Lernen

Übe selbstständig: Online-Python-Compiler