method fit
Pelajaran 10 dari 19 dalam kursus Pengantar Machine Learning di Coddy.
Tantangan
SulitImplementasikan method fit dan find_cluster_centroid. Fungsi find_cluster_centroid mencari centroid dari list titik tertentu (cluster). Petunjuk untuk mencari centroid ada di pelajaran sebelumnya. Untuk mengimplementasikan fit, ikuti petunjuk berikut:
- Inisialisasi Centroid: Pertama, pilih
ktitik dari dataset sebagai centroid awal. Agar lolos kasus uji, pilih titik ke-3, ke-5, ke-7, ke-9, … sebagai centroid awal (bergantung pada jumlah titikk) - Tetapkan Cluster: Untuk setiap titik dalam dataset, cari centroid terdekat (menggunakan ukuran jarak seperti jarak Euclidean), lalu tetapkan titik tersebut ke cluster itu.
- Perbarui Centroid: Setelah semua titik ditetapkan ke cluster, hitung ulang centroid dengan mencari nilai rata-rata semua titik di setiap cluster.
- Ulangi Langkah 2 dan 3: Langkah-langkah di atas diulangi sampai centroid tidak lagi berubah secara signifikan. Jika jarak antara centroid baru dan centroid sebelumnya kurang dari
0.01, berhenti
Cara agar lolos kasus uji:
- Simpan centroid dalam variabel
self.centroids. - Setelah kamu menemukan centroid baru, jika total jarak antara centroid baru dan centroid sebelumnya kurang dari
0.01, pertahankan centroid sebelumnya. - Urutan centroid itu penting. Selalu lakukan iterasi pada centroid dari awal hingga akhir.
- Kasus uji akan mencetak
self.centroidsdan memvalidasi apakah nilainya benar.
Coba sendiri
def euclidian_distance(point_a, point_b):
return (sum([(point_a[i] - point_b[i])**2 for i in range(len(point_a))]))**0.5
class KMeans:
def __init__(self, k):
self.k = k
def find_cluster_centroid(self, cluster_points):
# Tulis kodemu di sini
def fit(self, X_train):
# Tulis kodemu di sini
self.centroids = ...
def predict(self, X_test):
passSemua pelajaran di Pengantar Machine Learning
Latihan sendiri: Compiler Python online
