Menu
CoddyTech

Podsumowanie: rasy psów

Część sekcji Uczenie nienadzorowane ścieżki Machine Learning w Coddy. Lekcja 19 z 51.

challenge icon

Wyzwanie

Średni

W schronisku dla psów jest pięć boksów i schronisko chce, aby podobne rasy dzieliły jeden boks. Plik breeds.csv zawiera 21 ras; kod początkowy ustawia wysokość cięcia, cut.

  1. Przeskaluj features i zbuduj drzewo metodą Warda.
  2. Narysuj jego dendrogram na ax: nazwy ras obrócone o 90 stopni, kolory kończące się na wysokości cięcia i szara przerywana linia cięcia. Wyświetl go.
  3. Przetnij drzewo, opisz grupy w rzeczywistych jednostkach i wypisz je od najlżejszej do najcięższej, każdą nazwaną od jej pierwszej rasy.

Dla innego schroniska:

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

oraz jego drzewa, podzielonego na 2 grupy:

Drzewo zatytułowane Dog Breeds dla 8 ras, z nazwami biegnącymi w górę i szarą przerywaną linią cięcia na wysokości 4, przecinającą dwie kolorowe gałęzie: Maltese, Shih Tzu, Bichon Frise, Papillon i Toy Poodle; Whippet, Brittany i Basenji

Następnie Coddy opisze twoje drzewo.

Spróbuj swoich sił

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

# 21 ras psów: waga (kg), wzrost (cm), poziom energii od 1 do 5, długość życia (lata)
breeds = pd.read_csv("breeds.csv")
features = ["weight_kg", "height_cm", "energy", "lifespan_yr"]
# Schronisko ma pięć pomieszczeń dla psów, więc przecina drzewo na tej wysokości
cut = 2.5

fig, ax = plt.subplots(figsize=(8, 5))
fig.subplots_adjust(bottom=0.35)  # miejsce na nazwy pod drzewem
ax.set_title("Dog Breeds")
ax.set_ylabel("Merge height")

# Napisz swój kod poniżej

Wszystkie lekcje w sekcji Uczenie nienadzorowane

Poćwicz samodzielnie: Kompilator Python online