Dendrogramlar
Coddy'nin Machine Learning Journey'sinin Denetimsiz Öğrenme bölümünün bir parçası. Ders 18 / 51.
Bölümün başındaki ağaç bir dendrogramdır. Her parantez, iki grubu birleştikleri yükseklikte birleştirir: bacakları ne kadar uzunsa, gruplar birbirinden o kadar uzaktır.
Bir çizgiyle kesin; çizginin kestiği her dal bir grup oluşturur. Burada 4 grup:
scipy ağacı oluşturur, çizer ve fcluster ile keser:
from scipy.cluster.hierarchy import linkage, dendrogram, fcluster
Z = linkage(scaled, "ward")
dendrogram(Z, labels=names, leaf_rotation=90, color_threshold=1.2, ax=ax)
ax.axhline(1.2, color="gray", linestyle="--")
groups = fcluster(Z, t=1.2, criterion="distance")
print(groups)Bu, her top için bir grup numarası yazdırır; basketbol topu tek başına:
[2 2 2 1 1 1 3 3 3 4]En uzun bacakları keserek geçin: aşağıdaki gruplar birbirinden uzaktır.
Görev
OrtaBir deniz canlıları rehberi, 16 balina ve yunusu uzunluk, ağırlık ve dalış derinliğine göre gruplandırıyor. Başlangıç kodu bunları ölçeklendiriyor ve kesme yüksekliğini, cut değerini okuyor.
- Ward ağacını
Zile oluştur veaxüzerinde çiz: hayvan adlarını 90 derece döndür, renkleri kesme yüksekliğinde durdur. - Kesme yüksekliğini gri kesikli bir çizgiyle göster, ardından grafiği görüntüle.
- Grup sayısını yazdır.
11 meyve ve 3.5 kesme yüksekliği için:
Cut at 3.5: 3 groupsCoddy ağacını açıklıyor.
Kendin dene
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from scipy.cluster.hierarchy import linkage, dendrogram, fcluster
# 16 balina ve yunus: vücut uzunluğu (m), ağırlık (ton), en derin dalış (m)
whales = pd.read_csv("whales.csv")
names = list(whales["animal"])
scaled = StandardScaler().fit_transform(whales[["length_m", "weight_t", "dive_m"]])
cut = float(input())
fig, ax = plt.subplots()
fig.subplots_adjust(bottom=0.3) # ağacın altındaki isimler için yer
ax.set_title("Whales and Dolphins")
ax.set_ylabel("Merge height")
# Kodunuzu aşağıya yazın
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Denetimsiz Öğrenme bölümündeki tüm dersler
1Grupları Bulma
Etiketler Olmadan ÖğrenmeBenzerliği ÖlçmeK-Means'i Elle Uygulamascikit-learn ile K-MeansÖzet: Spor Salonu Üyeleri7Uygulamada PCA
64 Boyutu GörmekBileşenleri Örüntü Olarak GörmekSıkıştır ve Yeniden OluşturModelden Önce PCATekrar: Yüz Tarayıcı10Proje: Rakam Kaşifi
Rakamları İncelePCA ile KüçültRakamları KümeleKümelere Ad VerAykırı Olanları Bul2k Sayısını Seçme
AtaletDirsek YöntemiSilüet PuanlarıKümeleme Öncesi ÖlçeklemeÖzet: Teslimat BölgeleriKendi başına pratik yap: Online Python derleyicisi