K Nearest Neighbor and
Pseudo kNN
Irwansyah Saputra, S.Kom., M.Kom., MTA
Founder of Multinity Indonesia
Tentang Saya
• Irwansyah Saputra
• Dosen Ilmu Komputer
• Mahasiswa S3 Ilmu Komputer IPB University
• Bidang Kajian: Computational Intelligence &
Optimization (Data mining, machine
learning, artificial intelligence)
Halo semuanya, saya suka belajar tentang
segala hal dan suka berbagi pengetahuan. Saya
juga sering menjadi pembicara di berbagai
seminar.
Kontak yang bisa dihubungi:
WhatsApp: 0895323302241
Instagram: @irwansight_
Web: https://irw.one
Disclaimer
Materi ini digunakan sebagai bahan ajar Program Data Mining di
Multinity.id
Silakan gunakan, mohon untuk tidak mengubah template.
Jika Anda memiliki kesulitan dalam memahami materi pada slide
ini, silakan belajar di Multinity.id
Referensi
1. Jiawei Han and Micheline Kamber, Data Mining: Concepts and Techniques Third
Edition, Elsevier, 2012
2. Ian H. Witten, Frank Eibe, Mark A. Hall, Data mining: Practical Machine Learning
Tools and Techniques 3rd Edition, Elsevier, 2011
3. Markus Hofmann and Ralf Klinkenberg, RapidMiner: Data Mining Use Cases and
Business Analytics Applications, CRC Press Taylor & Francis Group, 2014
4. Daniel T. Larose, Discovering Knowledge in Data: an Introduction to Data Mining,
John Wiley & Sons, 2005
5. Ethem Alpaydin, Introduction to Machine Learning, 3rd ed., MIT Press, 2014
6. Florin Gorunescu, Data Mining: Concepts, Models and Techniques, Springer,
2011
7. Oded Maimon and Lior Rokach, Data Mining and Knowledge Discovery Handbook
Second Edition, Springer, 2010
8. Warren Liao and Evangelos Triantaphyllou (eds.), Recent Advances in Data Mining
of Enterprise Data: Algorithms and Applications, World Scientific, 2007
9. Suyanto, DATA MINING: Untuk klasifikasi dan klasterisasi data, Penerbit
Informatika, 2017
K Nearest Neighbor
Irwansyah Saputra, S.Kom., M.Kom., MTA
Founder of Multinity Indonesia
K Nearest Neighbor
• Nearest neighbor dapat diartikan sebagai tetangga terdekat,
sedangkan k artinya jumlah tetangga terdekatnya.
• Artinya kita akan menilai suatu data baru (data uji) berdasarkan
dengan tetangga terdekatnya.
• Dekat atau jauh diukur dengan jarak dan kita sudah belajar
mengenai Similarity and Disimilarity.
0
50
100
150
200
250
300
350
400
450
500
550
0 50 100 150 200 250 300 350 400 450 500 550
POIN
PANGGILAN
K Nearest Neighbor
• Karena algoritme ini bergantung pada jarak, maka kita harus melakukan
pengukuran jarak dengan salah satu metode yang sudah kita pelajari.
• Metode yang paling populer digunakan untuk menghitung jarak pada kNN
adalah euclidian distance. Rumusnya:
𝑑 𝑃, 𝑄 = 𝑃𝑖 − 𝑄𝑖 0 =
𝑖=1
𝑛
𝑝𝑖 − 𝑞𝑖
2
Contoh Kasus
• Kasus yang akan kita gunakan adalah gizi.csv, dataset ini berisi informasi
tentang kategori gemuk dan ideal.
• Seluruh isi tupelnya memiliki tipe data numerik karena akan dihitung jaraknya
oleh kNN. Tampilan dataset dapat dilihat sebagai berikut:
Tinggi Berat L Perut L Panggul Lemak Label
160 70 78 99 33.3 3
162 56 74 90 31.7 3
155 63 76.5 95.5 37.8 3
156 54 74 88 31 2
155 55 79 88 27 3
155 55 67 91 29.8 2
151.5 58 76 94 31.6 3
151.5 62 79 98 37.3 3
159 49 72 89 28.7 2
155 40 62 73.5 20 ?
• Keterangan:
• Pada label terdapat dua kategori,
yaitu 3 untuk gemuk dan 2 untuk
ideal.
• Baris paling bawah adalah data
uji yang akan kita tentukan
nilainya. Apakah hasilnya gemuk
atau ideal.
Penyelesaian
• Selanjutnya, lakukan perhitungan jarak tiap baris dengan euclidian distance.
Sebagai contoh, kita gunakan baris 1 sehingga menjadi:
𝑑 𝑃, 𝑄 =
𝑖=1
𝑛
𝑝𝑖 − 𝑞𝑖
2
= 160 − 155 2 + 70 − 40 2 + 78 − 62 2 + 99 − 73.5 2 + 33.3 − 20 2
= 16.257
• Lakukan hal yang sama terhadap baris yang lain. Untuk memudahkan
perhitungan, kita bisa menggunakan bantuan perangkat lunak lain seperti
Microsoft Excel.
Penyelesaian
• Setelah semuanya dihitung, maka jarak yang didapatkan dapat dilihat sebagai
berikut:
Tinggi Berat L Perut L Panggul Lemak Label Distance
160 70 78 99 33.3 3 16.257
162 56 74 90 31.7 3 17.846
155 63 76.5 95.5 37.8 3 21.254
156 54 74 88 31 2 23.452
155 55 79 88 27 3 24.187
155 55 67 91 29.8 2 24.808
151.5 58 76 94 31.6 3 24.972
151.5 62 79 98 37.3 3 25.415
159 49 72 89 28.7 2 25.540
155 40 62 73.5 20 ?
Penyelesaian
• Perhatikan kolom Distance, itu adalah hasil perhitungan jarak antara suatu baris dengan
data uji yang sudah kita siapkan tadi.
• Selanjutnya kita akan menentukan nilai label untuk data uji tersebut dengan cara mencari
jarak terdekat.
• Untuk menentukannya, kita bisa mengurutkan berdasarkan ascending pada kolom Distance
sehingga urutannya akan dimulai dari terkecil sampai terbesar.
• Nilai k yang diatur boleh bebas, bisa dimulai dari k = 1, k = 2, k = 3 dan seterusnya. Kita bisa
melakukan percobaan berurutan sebagai berikut:
 Jika nilai k = 1, maka data uji akan berlabel 3. Didapatkan dari nilai label baris pertama.
 Jika nilai k = 2, maka data uji akan berlabel 3. Didapatkan dari nilai label baris pertama
dan kedua.
 Jika nilai k = 4, maka data uji akan berlabel 3. Walaupun di baris ke empat ada label 2,
karena dia kalah dengan 3 nilai label lainnya. Sehingga hasilnya menjadi 3.
 Begitu seterusnya.
Pseudo kNN
Irwansyah Saputra, S.Kom., M.Kom., MTA
Founder of Multinity Indonesia
Pseudo kNN
• Algoritme ini adalah varian dari kNN
sebelumnya, sehingga sangat tidak sulit
untuk memahaminya.
• Letak perbedaan algoritme pseudo kNN
dengan kNN adalah perhitungan nilai k.
• Misalnya pada kasus gizi di atas, saat kita
menentukan nilai k = 3, maka kNN akan
mencari 3 tetangga terdekat dengan data
uji. Sedangkan pada pseudo kNN, jika nilai
k = 3 maka ia akan mencari 3 tetangga
terdekat dari kelas segitiga dan 3 tetangga
terdekat dari kelas lingkaran.
• Letak perbedaannya hanya itu saja. Untuk
perhitungan dan alur pengerjaannya sama
dengan kNN sebelumnya.
Penyelesaian
• Kita gunakan perhitungan yang sama dengan kNN sehingga menghasilkan:
Tinggi Berat L Perut L Panggul Lemak Label Distance
160 70 78 99 33.3 3 16.257
162 56 74 90 31.7 3 17.846
155 63 76.5 95.5 37.8 3 21.254
156 54 74 88 31 2 23.452
155 55 79 88 27 3 24.187
155 55 67 91 29.8 2 24.808
151.5 58 76 94 31.6 3 24.972
151.5 62 79 98 37.3 3 25.415
159 49 72 89 28.7 2 25.540
155 40 62 73.5 20 ?
Penyelesaian
• Letak perbedaan pada kNN dan Pseudo kNN adalah perhitungan nilai k. Contohnya sebagai
berikut:
 Jika kita memberi nilai k = 3, maka anggota label 3 yaitu baris ke satu, dua dan tiga.
Sedangkan anggota label 2 adalah baris ke empat, enam, sembilan. Terlihat bahwa
hasilnya adalah 3, karena ketiga jarak dari label 3 lebih dekat dengan data uji
dibandingkan dua.
 Lakukan hal yang sama jika kita ingin mengganti nilai k.

Data mining 7 klasifikasi k nearest neighbor and pseudo k nn

  • 1.
    K Nearest Neighborand Pseudo kNN Irwansyah Saputra, S.Kom., M.Kom., MTA Founder of Multinity Indonesia
  • 2.
    Tentang Saya • IrwansyahSaputra • Dosen Ilmu Komputer • Mahasiswa S3 Ilmu Komputer IPB University • Bidang Kajian: Computational Intelligence & Optimization (Data mining, machine learning, artificial intelligence) Halo semuanya, saya suka belajar tentang segala hal dan suka berbagi pengetahuan. Saya juga sering menjadi pembicara di berbagai seminar. Kontak yang bisa dihubungi: WhatsApp: 0895323302241 Instagram: @irwansight_ Web: https://irw.one
  • 3.
    Disclaimer Materi ini digunakansebagai bahan ajar Program Data Mining di Multinity.id Silakan gunakan, mohon untuk tidak mengubah template. Jika Anda memiliki kesulitan dalam memahami materi pada slide ini, silakan belajar di Multinity.id
  • 4.
    Referensi 1. Jiawei Hanand Micheline Kamber, Data Mining: Concepts and Techniques Third Edition, Elsevier, 2012 2. Ian H. Witten, Frank Eibe, Mark A. Hall, Data mining: Practical Machine Learning Tools and Techniques 3rd Edition, Elsevier, 2011 3. Markus Hofmann and Ralf Klinkenberg, RapidMiner: Data Mining Use Cases and Business Analytics Applications, CRC Press Taylor & Francis Group, 2014 4. Daniel T. Larose, Discovering Knowledge in Data: an Introduction to Data Mining, John Wiley & Sons, 2005 5. Ethem Alpaydin, Introduction to Machine Learning, 3rd ed., MIT Press, 2014 6. Florin Gorunescu, Data Mining: Concepts, Models and Techniques, Springer, 2011 7. Oded Maimon and Lior Rokach, Data Mining and Knowledge Discovery Handbook Second Edition, Springer, 2010 8. Warren Liao and Evangelos Triantaphyllou (eds.), Recent Advances in Data Mining of Enterprise Data: Algorithms and Applications, World Scientific, 2007 9. Suyanto, DATA MINING: Untuk klasifikasi dan klasterisasi data, Penerbit Informatika, 2017
  • 5.
    K Nearest Neighbor IrwansyahSaputra, S.Kom., M.Kom., MTA Founder of Multinity Indonesia
  • 6.
    K Nearest Neighbor •Nearest neighbor dapat diartikan sebagai tetangga terdekat, sedangkan k artinya jumlah tetangga terdekatnya. • Artinya kita akan menilai suatu data baru (data uji) berdasarkan dengan tetangga terdekatnya. • Dekat atau jauh diukur dengan jarak dan kita sudah belajar mengenai Similarity and Disimilarity. 0 50 100 150 200 250 300 350 400 450 500 550 0 50 100 150 200 250 300 350 400 450 500 550 POIN PANGGILAN
  • 7.
    K Nearest Neighbor •Karena algoritme ini bergantung pada jarak, maka kita harus melakukan pengukuran jarak dengan salah satu metode yang sudah kita pelajari. • Metode yang paling populer digunakan untuk menghitung jarak pada kNN adalah euclidian distance. Rumusnya: 𝑑 𝑃, 𝑄 = 𝑃𝑖 − 𝑄𝑖 0 = 𝑖=1 𝑛 𝑝𝑖 − 𝑞𝑖 2
  • 8.
    Contoh Kasus • Kasusyang akan kita gunakan adalah gizi.csv, dataset ini berisi informasi tentang kategori gemuk dan ideal. • Seluruh isi tupelnya memiliki tipe data numerik karena akan dihitung jaraknya oleh kNN. Tampilan dataset dapat dilihat sebagai berikut: Tinggi Berat L Perut L Panggul Lemak Label 160 70 78 99 33.3 3 162 56 74 90 31.7 3 155 63 76.5 95.5 37.8 3 156 54 74 88 31 2 155 55 79 88 27 3 155 55 67 91 29.8 2 151.5 58 76 94 31.6 3 151.5 62 79 98 37.3 3 159 49 72 89 28.7 2 155 40 62 73.5 20 ? • Keterangan: • Pada label terdapat dua kategori, yaitu 3 untuk gemuk dan 2 untuk ideal. • Baris paling bawah adalah data uji yang akan kita tentukan nilainya. Apakah hasilnya gemuk atau ideal.
  • 9.
    Penyelesaian • Selanjutnya, lakukanperhitungan jarak tiap baris dengan euclidian distance. Sebagai contoh, kita gunakan baris 1 sehingga menjadi: 𝑑 𝑃, 𝑄 = 𝑖=1 𝑛 𝑝𝑖 − 𝑞𝑖 2 = 160 − 155 2 + 70 − 40 2 + 78 − 62 2 + 99 − 73.5 2 + 33.3 − 20 2 = 16.257 • Lakukan hal yang sama terhadap baris yang lain. Untuk memudahkan perhitungan, kita bisa menggunakan bantuan perangkat lunak lain seperti Microsoft Excel.
  • 10.
    Penyelesaian • Setelah semuanyadihitung, maka jarak yang didapatkan dapat dilihat sebagai berikut: Tinggi Berat L Perut L Panggul Lemak Label Distance 160 70 78 99 33.3 3 16.257 162 56 74 90 31.7 3 17.846 155 63 76.5 95.5 37.8 3 21.254 156 54 74 88 31 2 23.452 155 55 79 88 27 3 24.187 155 55 67 91 29.8 2 24.808 151.5 58 76 94 31.6 3 24.972 151.5 62 79 98 37.3 3 25.415 159 49 72 89 28.7 2 25.540 155 40 62 73.5 20 ?
  • 11.
    Penyelesaian • Perhatikan kolomDistance, itu adalah hasil perhitungan jarak antara suatu baris dengan data uji yang sudah kita siapkan tadi. • Selanjutnya kita akan menentukan nilai label untuk data uji tersebut dengan cara mencari jarak terdekat. • Untuk menentukannya, kita bisa mengurutkan berdasarkan ascending pada kolom Distance sehingga urutannya akan dimulai dari terkecil sampai terbesar. • Nilai k yang diatur boleh bebas, bisa dimulai dari k = 1, k = 2, k = 3 dan seterusnya. Kita bisa melakukan percobaan berurutan sebagai berikut:  Jika nilai k = 1, maka data uji akan berlabel 3. Didapatkan dari nilai label baris pertama.  Jika nilai k = 2, maka data uji akan berlabel 3. Didapatkan dari nilai label baris pertama dan kedua.  Jika nilai k = 4, maka data uji akan berlabel 3. Walaupun di baris ke empat ada label 2, karena dia kalah dengan 3 nilai label lainnya. Sehingga hasilnya menjadi 3.  Begitu seterusnya.
  • 12.
    Pseudo kNN Irwansyah Saputra,S.Kom., M.Kom., MTA Founder of Multinity Indonesia
  • 13.
    Pseudo kNN • Algoritmeini adalah varian dari kNN sebelumnya, sehingga sangat tidak sulit untuk memahaminya. • Letak perbedaan algoritme pseudo kNN dengan kNN adalah perhitungan nilai k. • Misalnya pada kasus gizi di atas, saat kita menentukan nilai k = 3, maka kNN akan mencari 3 tetangga terdekat dengan data uji. Sedangkan pada pseudo kNN, jika nilai k = 3 maka ia akan mencari 3 tetangga terdekat dari kelas segitiga dan 3 tetangga terdekat dari kelas lingkaran. • Letak perbedaannya hanya itu saja. Untuk perhitungan dan alur pengerjaannya sama dengan kNN sebelumnya.
  • 14.
    Penyelesaian • Kita gunakanperhitungan yang sama dengan kNN sehingga menghasilkan: Tinggi Berat L Perut L Panggul Lemak Label Distance 160 70 78 99 33.3 3 16.257 162 56 74 90 31.7 3 17.846 155 63 76.5 95.5 37.8 3 21.254 156 54 74 88 31 2 23.452 155 55 79 88 27 3 24.187 155 55 67 91 29.8 2 24.808 151.5 58 76 94 31.6 3 24.972 151.5 62 79 98 37.3 3 25.415 159 49 72 89 28.7 2 25.540 155 40 62 73.5 20 ?
  • 15.
    Penyelesaian • Letak perbedaanpada kNN dan Pseudo kNN adalah perhitungan nilai k. Contohnya sebagai berikut:  Jika kita memberi nilai k = 3, maka anggota label 3 yaitu baris ke satu, dua dan tiga. Sedangkan anggota label 2 adalah baris ke empat, enam, sembilan. Terlihat bahwa hasilnya adalah 3, karena ketiga jarak dari label 3 lebih dekat dengan data uji dibandingkan dua.  Lakukan hal yang sama jika kita ingin mengganti nilai k.