Menu
CoddyTech

Revisão: raças de cães

Parte da seção Aprendizado não supervisionado do Journey de Machine Learning da Coddy. Lição 19 de 51.

challenge icon

Desafio

Médio

Um abrigo de cães tem cinco canis e quer que raças semelhantes compartilhem um. breeds.csv contém 21 raças; o código inicial define a altura de corte, cut.

  1. Escale as features e construa uma árvore de Ward.
  2. Desenhe seu dendrograma em ax: nomes das raças girados em 90 graus, cores interrompidas no corte e uma linha de corte cinza tracejada. Exiba-o.
  3. Corte a árvore, descreva os grupos em unidades reais e imprima-os do mais leve ao mais pesado, cada um nomeado com base em sua primeira raça.

Para outro abrigo:

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 sua árvore, cortada em 2 grupos:

Uma árvore intitulada Dog Breeds com 8 raças, nomes orientados para cima e uma linha de corte cinza tracejada na altura 4, cruzando dois ramos coloridos: Maltese, Shih Tzu, Bichon Frise, Papillon e Toy Poodle; Whippet, Brittany e Basenji

Então, Coddy descreve sua árvore.

Experimente você mesmo

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

# 21 raças de cães: peso (kg), altura (cm), energia de 1 a 5, expectativa de vida (anos)
breeds = pd.read_csv("breeds.csv")
features = ["weight_kg", "height_cm", "energy", "lifespan_yr"]
# O abrigo tem cinco canis, então corta a árvore nesta altura
cut = 2.5

fig, ax = plt.subplots(figsize=(8, 5))
fig.subplots_adjust(bottom=0.35)  # espaço para os nomes abaixo da árvore
ax.set_title("Dog Breeds")
ax.set_ylabel("Merge height")

# Escreva seu código abaixo

Todas as lições de Aprendizado não supervisionado

Pratique por conta própria: Compilador de Python online