K-Nearest Neighbors (KNN)

Galih Setiawan Nurohim
3 min readJun 5, 2024

--

K-Nearest Neighbors (KNN) adalah algoritma pembelajaran mesin non-parametrik yang digunakan untuk klasifikasi dan regresi. Dalam klasifikasi, KNN mengklasifikasikan sebuah titik berdasarkan mayoritas kelas dari k tetangga terdekatnya. Pelru diingat KNN bukan Neural Network.

Langkah-langkah untuk Menggunakan KNN

1. Persiapan Data dalam Bentuk Tabel

Berikut adalah contoh data untuk klasifikasi menggunakan KNN. Kita akan menggunakan data tentang ketinggian (height) dan berat badan (weight) untuk memprediksi apakah seseorang masuk dalam kategori “Olahraga” (Sport) atau “Tidak Olahraga” (No Sport).

Kita akan memprediksi kategori untuk orang dengan ketinggian 172 cm dan berat 68 kg.

2. Contoh Data untuk Klasifikasi

Data yang akan digunakan untuk prediksi:

3. Langkah-langkah Manual untuk Menghitung KNN

  1. Hitung Jarak Euclidean: Hitung jarak antara titik yang akan diprediksi dengan setiap titik dalam dataset.

Rumus jarak Euclidean antara dua titik (𝑥1,𝑦1)(x1​,y1​) dan (𝑥2,𝑦2)(x2​,y2​):

2. Tentukan K: Pilih nilai k (jumlah tetangga terdekat). Misalnya, 𝑘=3

3. Identifikasi K Tetangga Terdekat: Urutkan jarak dari yang terkecil dan pilih k tetangga terdekat.

4. Tentukan Kategori: Kategori mayoritas dari k tetangga terdekat adalah kategori yang diprediksi.

4. Rumus-rumus yang Digunakan dalam Excel

Untuk menghitung jarak Euclidean di Excel, kita bisa menggunakan rumus berikut:

=SQRT((A2 - 172)^2 + (B2 - 68)^2)

Di mana A2 adalah height dan B2 adalah weight.

5. Penjelasan Tentang Cara Menghitung Jarak Euclidean

Manual Calculation:

Untuk data ID 1

Lakukan perhitungan yang sama untuk data lainnya.

6. Tabel

Manual Calculation:

Berikut adalah tabel

6. Identifikasi K Tetangga Terdekat dan Prediksi

Dari tabel di atas, kita pilih 3 tetangga terdekat (k = 3):

Dari 3 tetangga terdekat, 2 adalah “No Sport” dan 1 adalah “Sport”. Maka, prediksi untuk orang dengan ketinggian 172 cm dan berat 68 kg adalah “No Sport”.

--

--

Galih Setiawan Nurohim
Galih Setiawan Nurohim

No responses yet