Adım Adım Birleştirme
Coddy'nin Machine Learning Journey'sinin Denetimsiz Öğrenme bölümünün bir parçası. Ders 16 / 51.
Bu bölüm, verilerinizin bir aile ağacını oluşturur, ardından onu gruplara ayırır. İşte boyut ve ağırlıklarına göre on spor topu:
Ağaç aşağıdan yukarıya doğru büyür. Her noktayı tek başına başlatın, birbirine en yakın iki grubu birleştirin ve tekrarlayın:
İki grup arasındaki fark, ortalamaları arasındaki farktır. Listeler olarak birleştirme:
groups = [[2], [7], [15, 19], [33]]
groups[0] = groups[0] + groups[1] # listeleri birleştir
groups.pop(1) # [7] öğesini kaldır, artık grup 0'da
print(groups)Bu, [[2, 7], [15, 19], [33]] çıktısını verir. Birleştirme üstüne birleştirme; buna birleştirici kümeleme denir.
Görev
OrtaAileler plaj şemsiyelerini birbirine yakın diker. spots içindeki 10 şemsiyeyi, geriye wanted grup kalana kadar birleştirerek gruplayın. closest_pair(groups), birbirine en yakın iki grubun i ve j konumlarını döndürür.
- Her şemsiyeyle tek başına, bir elemanlı bir listede başlayın.
wanteddeğerinden fazla grup olduğu sürece: birleştirmeyi yazdırın, çifti birleştirin, ikinci grubu kaldırın.- Geriye kalan grupları yazdırın.
Diğer şemsiyeler ve wanted değerinin 3 olduğu durumda:
Merge [33] and [35]
Merge [30] and [33, 35]
Merge [3] and [8]
3 groups: [[3, 8], [30, 33, 35], [70]]Kendin dene
import numpy as np
# 10 plaj şemsiyesinin cankurtaran kulesine göre metre cinsinden konumları
spots = [2, 9, 11, 31, 45, 46, 69, 74, 92, 96]
# i, j (i < j) değerlerini döndürür: ortalamaları birbirine en yakın iki grubun konumları
def closest_pair(groups):
best_i, best_j = 0, 1
best_gap = abs(np.mean(groups[0]) - np.mean(groups[1]))
for i in range(len(groups)):
for j in range(i + 1, len(groups)):
gap = abs(np.mean(groups[i]) - np.mean(groups[j]))
if gap < best_gap:
best_i, best_j, best_gap = i, j, gap
return best_i, best_j
wanted = int(input())
# 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