Menu
CoddyTech

Tekrar: Köpek Irkları

Coddy'nin Machine Learning Journey'sinin Denetimsiz Öğrenme bölümünün bir parçası. Ders 19 / 51.

challenge icon

Görev

Orta

Bir köpek barınağında beş köpek kulübesi odası var ve barınak benzer ırkların aynı odayı paylaşmasını istiyor. breeds.csv dosyasında 21 ırk bulunuyor; başlangıç kodu kesme yüksekliğini, cut değerini belirliyor.

  1. features özelliklerini ölçeklendir ve bir Ward ağacı oluştur.
  2. Dendrogramını ax üzerinde çiz: ırk adlarını 90 derece döndür, renkleri kesme yüksekliğinde durdur ve gri kesikli bir kesme çizgisi ekle. Göster.
  3. Ağacı kes, grupların profillerini gerçek birimlerle çıkar ve her birini ilk ırkının adıyla adlandırarak en hafiften en ağıra doğru yazdır.

Başka bir barınak için:

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

ve 2 gruba kesilmiş ağacı:

8 ırkın yer aldığı, yukarı doğru uzanan adlara sahip ve yüksekliği 4'teki gri kesikli kesme çizgisi iki renkli dalı kesen Dog Breeds başlıklı bir ağaç: Maltese, Shih Tzu, Bichon Frise, Papillon ve Toy Poodle; Whippet, Brittany ve Basenji

Ardından Coddy ağacını açıklar.

Kendin dene

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

# 21 köpek ırkı: ağırlık (kg), boy (cm), 1 ile 5 arasında enerji düzeyi, yaşam süresi (yıl)
breeds = pd.read_csv("breeds.csv")
features = ["weight_kg", "height_cm", "energy", "lifespan_yr"]
# Barınakta beş köpek kulübesi odası var, bu yüzden ağacı bu yükseklikte kesiyor
cut = 2.5

fig, ax = plt.subplots(figsize=(8, 5))
fig.subplots_adjust(bottom=0.35)  # ağacın altındaki isimler için boşluk
ax.set_title("Dog Breeds")
ax.set_ylabel("Merge height")

# Kodunuzu aşağıya yazın

Denetimsiz Öğrenme bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi