Lompat ke konten utama
←

Machine Learning Dasar dengan Python

Pelajaran 8 dari 16

Klasifikasi: menebak kelompok

k-tetangga terdekat (k-NN)

Setelah pelajaran ini kamu bisa melatih KNeighborsClassifier, memilih n_neighbors, dan membaca akurasinya.

±13 menitDiperiksa 27 Sep 2026

Materi

k-NN adalah klasifikasi paling sederhana: untuk menebak kelas data baru, cari k data latih yang jaraknya paling dekat, lalu ambil kelas yang paling banyak di antara mereka. User Guide scikit-learn menyebut cara ini instance-based: model tidak membangun rumus, ia menyimpan data latih dan menghitung jarak saat predict. Jarak bawaannya jarak Euclid, yaitu garis lurus antara dua titik.

KNeighborsClassifier memakai n_neighbors=5 bila tidak diisi. k kecil membuat tebakan mengikuti satu-dua tetangga, sehingga peka terhadap data yang aneh; k besar membuat batas antarkelas lebih halus tetapi bisa mengaburkan kelompok kecil. Nilai k dipilih dengan membandingkan skor di data yang tidak dipakai untuk fit.

from sklearn.neighbors import KNeighborsClassifier

# panjang, lebar daun (cm) -> jenis tanaman
X = [[4, 2], [5, 2], [4, 3], [9, 6], [10, 5], [9, 5]]
y = ["A", "A", "A", "B", "B", "B"]
knn = KNeighborsClassifier(n_neighbors=3).fit(X, y)
print(knn.predict([[8, 5]]))      # ['B']
print(knn.score(X, y))            # 1.0

Method score pada classifier mengembalikan akurasi: porsi tebakan yang benar, sama dengan accuracy_score(y_test, model.predict(X_test)).

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 1 dari 3

Dengan k = 5, lima tetangga terdekat sebuah data baru berkelas Ya, Tidak, Ya, Tidak, Ya. Apa tebakan k-NN?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke