Menu
CoddyTech

Récapitulatif : races de chiens

Fait partie de la section Apprentissage non supervisé du Journey Machine Learning de Coddy. Leçon 19 sur 51.

challenge icon

Défi

Moyen

Un refuge pour chiens dispose de cinq chenils et souhaite que les races similaires partagent le même. breeds.csv contient 21 races ; le code de départ définit la hauteur de coupe, cut.

  1. Normalise features et construis un arbre de Ward.
  2. Trace son dendrogramme sur ax : noms des races pivotés de 90 degrés, couleurs arrêtées au seuil de coupe et ligne de coupe grise en pointillés. Affiche-le.
  3. Coupe l’arbre, établis le profil des groupes en unités réelles et affiche-les du plus léger au plus lourd, chacun nommé d’après sa première race.

Pour un autre refuge :

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

et son arbre, coupé en 2 groupes :

Un arbre intitulé Dog Breeds portant sur 8 races, avec les noms orientés vers le haut et une ligne de coupe grise en pointillés à la hauteur 4 traversant deux branches colorées : Maltese, Shih Tzu, Bichon Frise, Papillon et Toy Poodle ; Whippet, Brittany et Basenji

Ensuite, Coddy décrit ton arbre.

Essayez vous-même

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

# 21 races de chiens : poids (kg), taille (cm), niveau d’énergie de 1 à 5, espérance de vie (années)
breeds = pd.read_csv("breeds.csv")
features = ["weight_kg", "height_cm", "energy", "lifespan_yr"]
# Le refuge dispose de cinq espaces pour les chiens, il coupe donc son arbre à cette hauteur
cut = 2.5

fig, ax = plt.subplots(figsize=(8, 5))
fig.subplots_adjust(bottom=0.35)  # espace pour les noms sous l’arbre
ax.set_title("Dog Breeds")
ax.set_ylabel("Merge height")

# Écrivez votre code ci-dessous

Toutes les leçons de Apprentissage non supervisé

Entraînez-vous par vous-même : Compilateur Python en ligne