Mengukur Kemiripan
Termasuk bagian Pembelajaran Tanpa Pengawasan dalam perjalanan Machine Learning di Coddy. Pelajaran 2 dari 51.
Dalam k-NN, terdekat berarti jaraknya paling kecil. Untuk menemukan kelompok, kamu memerlukannya untuk setiap pasangan baris: sebuah tabel jarak. Empat teman memberi nilai untuk dua film, dari 1 hingga 10:
ratings = np.array([[9, 2], [8, 3], [2, 9], [3, 7]]) # Ana, Ben, Cy, Dee
n = len(ratings)
table = np.zeros((n, n))
for i in range(n):
table[i] = np.sqrt(((ratings - ratings[i]) ** 2).sum(axis=1))Baris i menyimpan jarak teman i ke semua orang. Berikut table, yang digambarkan sebagai kisi:
Abaikan diagonal 0, karena setiap teman dibandingkan dengan dirinya sendiri. Angka terkecil yang tersisa menunjukkan pasangan yang paling mirip, sedangkan angka terbesar menunjukkan pasangan yang paling berbeda. Jarak kecil berarti baris yang mirip.
Tantangan
MudahSebuah bar jus menambahkan smoothie baru dari koki, yang dibaca oleh program, ke menunya. Pasangan mana yang sangat mirip sehingga salah satunya bisa dihilangkan? Pasangan mana yang paling berbeda untuk dicicipi bersama?
- Buat tabel jarak dari
menu. - Temukan pasangan yang paling mirip dan paling berbeda: hitung setiap pasangan satu kali, jangan pernah memasangkan smoothie dengan dirinya sendiri.
- Cetak keduanya, dengan nama sesuai urutan dalam menu dan jarak hingga 1 angka desimal.
Untuk menu lain:
Most alike: Lemon Zing and Lime Twist (14.1 g apart)
Most different: Choco Shake and Cucumber Cool (212.6 g apart)Coba sendiri
import numpy as np
names = ["Berry Blast", "Green Glow", "Mango Lassi", "Kale Kick", "Tropical Sun", "Banana Oat", "Minty Melon"]
# Satu baris untuk setiap smoothie, dalam gram per cangkir: buah, sayuran hijau, yogurt
menu = np.array([[180, 0, 120],
[90, 110, 60],
[160, 0, 150],
[60, 150, 30],
[200, 20, 40],
[100, 0, 200],
[170, 40, 0]])
# Resep baru koki ditambahkan ke menu sebagai baris terakhir
names.append(input())
new = [int(input()), int(input()), int(input())]
menu = np.concatenate([menu, [new]])
# Tulis kodemu di bawah ini
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pembelajaran Tanpa Pengawasan
1Menemukan Kelompok
Belajar Tanpa LabelMengukur KemiripanK-Means secara ManualK-Means dengan scikit-learnRangkuman: Anggota Gym4Pengelompokan Hierarkis
Penggabungan Langkah demi LangkahModel AglomeratifDendrogramRingkasan: Ras Anjing7PCA dalam Praktik
Melihat 64 DimensiKomponen sebagai PolaKompres dan RekonstruksiPCA Sebelum ModelRangkuman: Pemindai Wajah10Proyek: Penjelajah Digit
Amati DigitnyaPerkecil dengan PCAKelompokkan DigitBeri Nama pada KelompokTemukan yang Tidak BiasaLatihan sendiri: Compiler Python online