Menu
CoddyTech

Riepilogo: razze canine

Fa parte della sezione Apprendimento non supervisionato del percorso Machine Learning di Coddy. Lezione 19 di 51.

challenge icon

Sfida

Medio

Un rifugio per cani ha cinque stanze per i canili e vuole che razze simili condividano la stessa stanza. breeds.csv contiene 21 razze; il codice iniziale imposta l’altezza di taglio, cut.

  1. Scala le features e costruisci un albero Ward.
  2. Disegna il dendrogramma su ax: nomi delle razze ruotati di 90 gradi, colori che si interrompono all’altezza di taglio e una linea di taglio grigia tratteggiata. Visualizzalo.
  3. Taglia l’albero, crea il profilo dei gruppi nelle unità reali e stampali dal più leggero al più pesante, ciascuno con il nome della sua prima razza.

Per un altro rifugio:

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

e il suo albero, tagliato in 2 gruppi:

Un albero intitolato Razze canine con 8 razze, i cui nomi si sviluppano verso l’alto, con una linea di taglio grigia tratteggiata all’altezza 4 che attraversa due rami colorati: Maltese, Shih Tzu, Bichon Frise, Papillon e Toy Poodle; Whippet, Brittany e Basenji

Poi Coddy descrive il tuo albero.

Provalo tu

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

# 21 razze di cani: peso (kg), altezza (cm), energia da 1 a 5, aspettativa di vita (anni)
breeds = pd.read_csv("breeds.csv")
features = ["weight_kg", "height_cm", "energy", "lifespan_yr"]
# Il rifugio ha cinque locali per i cani, quindi taglia il dendrogramma a questa altezza
cut = 2.5

fig, ax = plt.subplots(figsize=(8, 5))
fig.subplots_adjust(bottom=0.35)  # spazio per i nomi sotto il dendrogramma
ax.set_title("Dog Breeds")
ax.set_ylabel("Merge height")

# Scrivi il tuo codice qui sotto

Tutte le lezioni di Apprendimento non supervisionato

Esercitati da solo: Compilatore Python online