Menu
CoddyTech

Repaso: razas de perros

Parte de la sección Aprendizaje no supervisado del Journey de Machine Learning de Coddy. Lección 19 de 51.

challenge icon

Desafío

Intermedio

Un refugio para perros tiene cinco salas de perreras y quiere que las razas similares compartan una. breeds.csv contiene 21 razas; el código inicial establece la altura de corte, cut.

  1. Escala las features y construye un árbol de Ward.
  2. Dibuja su dendrograma en ax: nombres de razas girados 90 grados, colores que se detengan en el corte y una línea de corte gris discontinua. Muéstralo.
  3. Corta el árbol, perfila los grupos en unidades reales e imprímelos de más ligeros a más pesados, cada uno con el nombre de su primera raza.

Para otro refugio:

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

y su árbol, cortado en 2 grupos:

Un árbol titulado Dog Breeds con 8 razas, nombres orientados hacia arriba y una línea de corte gris discontinua a la altura 4 que cruza dos ramas de colores: Maltese, Shih Tzu, Bichon Frise, Papillon y Toy Poodle; Whippet, Brittany y Basenji

Después, Coddy describe tu árbol.

Pruébalo tú mismo

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

# 21 razas de perros: peso (kg), altura (cm), energía de 1 a 5, esperanza de vida (años)
breeds = pd.read_csv("breeds.csv")
features = ["weight_kg", "height_cm", "energy", "lifespan_yr"]
# El refugio tiene cinco salas para perros, así que corta su árbol a esta altura
cut = 2.5

fig, ax = plt.subplots(figsize=(8, 5))
fig.subplots_adjust(bottom=0.35)  # espacio para los nombres debajo del árbol
ax.set_title("Dog Breeds")
ax.set_ylabel("Merge height")

# Escribe tu código a continuación

Todas las lecciones de Aprendizaje no supervisado

Practica por tu cuenta: Compilador de Python online