Transcript for:
Pengantar K-Nearest Neighbors Classifier

Assalamualaikum warahmatullahi wabarakatuh. Perkenalkan, nama saya Medanita Dewi Renanti. Pada kesempatan kali ini saya akan menjelaskan salah satu metode dari machine learning. Nah ini ya, metodenya adalah K-Nearest Neighbors Classifier.

Ini outline-nya, pendahuluan, kemudian kiniuris, eneobol, sama penerapannya. Nah, sebelum kita masuk ke metode tersebut, kita akan ulas sedikit ya tentang apa itu machine learning. Dia merupakan area ilmu komputer yang mengajarkan komputer bagaimana belajar tanpa diprogram secara eksplisit.

Nah, metode ini memungkinkan sistem komputer untuk menangkap pola dan hubungan tersembunyi dalam data, serta menyediakan tools untuk memprediksi atau meramalkan berdasarkan masukan. Nah, tujuannya adalah agar program komputer secara otomatis mengenali pola yang kompleks dan membuat keputusan cerdas berdasarkan data. Nah, ini kategorinya. Yang pertama, supervised learning.

Ini untuk klasifikasi, cirinya adalah terdapat label di dalam. Yang kedua, unsupervised learning untuk klastering. Nah, ini input tidak diberi label. Yang ketiga, semi-supervised learning.

Ini memanfaatkan contoh berlabel dan tidak berlabel saat mempelajari model. Sedangkan yang keempat adalah active learning. Nah, ini pengguna berperan aktif dalam pembelajaran.

Nah, pengguna memberi label pada suatu contoh. Ya mungkin berasal dari sekumpulan contoh yang tidak berlabel atau disintesis oleh learning programnya. Tujuannya apa? Untuk mengoptimalkan model kualitas ya dengan aktif memperoleh pengetahuan dari manusia sebagai penggunaannya.

Nah di sini supervised learning ya untuk KNN dan dia efisien untuk masalah klasifikasi. Itu diperkenalkan oleh Ficks tahun 1951 dan disusun kembali oleh Cafford dan Hart pada tahun 1967. Nah ini merupakan non-parametric classifier, simple namun merupakan salah satu dari 10 metode yang efektif dalam proses menganalisis informasi berdasarkan paper top 10 algorithm in data mining. Nah, dalam proses untuk prediksi, kelas yang baru ditentukan dengan menghitung jarak terpendek sampel pengamatan dengan sampel KNN-nya.

Di sini algoritma KNN, ini merupakan salah satu metode yang paling populer dan telah banyak dicoba untuk klasifikasi, data mining, regresi, serta pengenalan pola. Penelitian yang dilakukan, ini menggunakan sel darah merah untuk klasifikasi, menggunakan KNN, dia menghasilkan akurasi tertinggi yang dihasilkan mencapai 98,87%. Algoritma ini menggunakan fitur similarity untuk memprediksi data baru.

Jadi dihitung untuk kanyors, tetangga terdekatnya. Ini untuk flowchart-nya, read ya, kita baca k-nya berapa, kemudian data set sama tes datanya kita load, hitung jarak Euclid atau Euclidean antara tes data dan data set. Kita letakkan hasilnya misalnya ke list ya, ke X-nya.

Kemudian kita urutkan dan kita letakkan di temp, kemudian kita temukan majority class atau kelasnya umum dari temp tersebut. Kita coba untuk contoh kasus ya, untuk memudahkan pemahaman. Di sini ada dataset yang sudah berlabel, yaitu terdapat dua kelas ideal dan overweight berdasarkan atribut tinggi dan berat badan. Ini ada 12 baris ya, 12 data.

Ada dua kelas ideal dan overweight. Ada enam ideal dan enam overweight. Nah, kemudian ada kelas baru ini ya.

Kira-kira data baru ini masuk ke kelas yang mana? Apakah kelas ideal atau kelas overweight? Dengan tinggi 163 dan berat 69. Kita coba dulu di Excel, nanti kita coba juga di matlab-nya. Ini untuk memudahkan terlebih dahulu.

Ini datanya ya, seperti ini. Ada tinggi badan, berat badan, sama kelasnya. Ini ada data barunya.

Sekarang kita coba membuat... Grafik dulu ya, caranya ke insert, kemudian ke scatter untuk memudahkan visualisasi. Nah, seperti ini. Kemudian kita tambahkan datanya.

Nah, ini ada select data ya. Ini ada app tadi ya. Kemudian series X-nya kita pilih yang tinggi badan. Dari B2 sampai B13 kalau yang punya saya. Kemudian Y values-nya berat badan.

Di sini C2 sampai... Sampai C3. Seperti itu. Nah, ini hasilnya ya. Untuk sebarannya.

Untuk memudahkan kita memahami juga, kita tampilkan nilainya. Kita klik kanan. Di sini ada add data label. Nah, masih belum sesuai juga ya. Artinya belum terlihat.

Kita coba menampilkan kelasnya. Caranya, kita klik kanan. Ini ada format data label.

Kemudian kita checklist value from cell-nya. Nah, untuk data label range-nya kita pilih yang kelas, seperti ini. Nah, gitu ya.

Ini untuk sebarannya ideal sama overweight. Sekarang kita masukkan data barunya dengan cara yang sama. Kita select data, kita add di sini.

X-nya kita pilih yang tinggi badan, kemudian value untuk Y-nya kita pilih yang berat badan. Nah, sudah muncul ya. Ini untuk yang lingkaran orange, itu adalah data barunya. Nah, kita ingin lihat ya, dia masuk ke kelas mana sih?

Kalau hanya seperti ini kan masih belum terdeteksi ya. Kalau kita perhatikan sih memang terdekatnya di overrubnya. Tapi kita coba dulu ya menggunakan algoritma yang sudah ada tadi.

Yang pertama tentukan kaknya, kaknya adalah 3 ya. Kemudian kita hitung tadi jarak Euclidnya. Nah, di sini ya. Tentukan kak, misalkan 3. Kemudian kita hitung jarak antara tes data dan dataset. Ya, menggunakan persamaan jarak Euclid.

D, ya jarak. X dengan Y yaitu akar dari jumlah data I yang pertama sampai D, XI dikurangi JI kemudian dikwadratkan. Nah, ini contohnya.

Untuk data yang pertama tadi, tinggi badannya sekian. 165, berat badannya 55. Nah, kemudian kita bandingkan dengan data kucinya, yang ini. Jadi, akar dari 165 dikurangi 163. kuadratkan ditambah yang berat badan yaitu 55 dikurangi 69 dikuadratkan hasilnya akar 100 yaitu 14,142 nah ini nanti dihitung untuk semua data ya, tadi ada 12 baris, ya dihitung semuanya seperti ini hasilnya kita coba untuk melakukan perhitungan di Excel ya untuk memudahkan kita, nanti kita coba untuk yang di matlab ya Jadi di sini jarak juklit akar dari X, tadi yang tinggi badan ya, dikurangi data barunya, kemudian kita kuadratkan, kita jumlahkan dengan yang berat badan. Berarti yang data pertama ya, yaitu berat badan. Kurangi data barunya.

Nah, sama dikuadratkan. Nah, di sini supaya nanti pada saat di copy itu tidak berubah, selnya kita kunci dulu ya. Kita jadikan alamat absolut.

Nah, seperti ini. Ini hasilnya ya. Ini untuk semua data ya, 1 sampai 12. Sekarang kita lakukan ranking dari data 1 sampai 12 ini. Rankingnya ke berapa?

Ke data baru. Oke, kalau di Excel kita tinggal buat rank, kemudian jarak Euclid, kita bandingkan dengan semuanya, gitu ya, seperti ini. Kita lakukan urutannya yaitu yang ascending ya, satu. Nah, ini supaya nanti tidak berubah, selnya yang ringsnya kita kunci juga, seperti ini.

Jadi sudah ketahuan bahwa jarak yang terdekat itu untuk data yang ke-8, kemudian data yang ke-11, data yang ke-7. Kalau kita perhatikan data yang ke-8 itu berarti yang ini ya, 8. Itu 165, tingginya berat badannya 70. Berarti yang di sini, yang mata dekat ya. Ini untuk memudahkan visualisasi, sebelumnya sudah dibuatkan seperti ini ya. Kelas idealnya dengan segi tiga, kemudian overweightnya yang lingkaran biru, tes datanya yang warna orange. Nah, seperti itu.

Kita akan pindahkan dulu ya untuk memudahkan kita. Ini kelasnya saya copy aja dari yang sebelumnya. Kita pindahkan ke sini.

Kemudian kita ambil ya, tadi di sini kelas yang nomor 1, yaitu nomor data ke-8. Kita taruh di sini aja. Kita ambil 3 teratas ya, tadi ya kakaknya kan 3 ya. Kemudian yang ke-2, seperti ini. Kemudian yang ke-3.

Nah, kita lihat dari yang majority kelasnya ya, umum, yaitu dia masuknya ke overwave. Jadi, data baru ini dia masuknya ke kelas overwave. Seperti itu. Kalau kita perhatikan memang jarak terdekatnya, ini tadi yang di Excel ya.

Nah, seperti ini. Ini yang pertama, kedua, dan ketiga. Memang dia lebih ke arah overweight. Sekarang bagaimana penerapan di MATLAB? Ini sudah dibuat ya untuk programnya.

Mirip dengan yang sebelumnya, kita akan coba saja langsung di MATLAB-nya. Nah, seperti ini ya. Ini saya ambil potongan programnya aja.

Ini untuk menghitung data testing ya. Kemudian penentuan data testing itu masuk ke klasifikasi yang mana, seperti ini. Ini hasil klasifikasinya.

Nah, kita coba untuk data yang ini. Data trainingnya ada 12, ini 1 sampai 12, nilai K-nya 3, data testingnya atau data ujinya 10 sama 5. Kalau hasil program, itu adalah hasil klasifikasinya 2. Kita coba saja di Excel, ini datanya tadi sudah di copy duluan, 1, 1 sampai 4, 7, 2, oke. Ini data barunya, dengan cara yang sama tadi kita lakukan, ini tinggal kita copy aja ya di sini.

Kita hitung jarak Euclidnya seperti cara yang sebelumnya, kemudian kita lakukan ranking. Ini dari L2, kemudian dibandingkan dengan semuanya. Codernya 1, kita kunci dulu.

Kita lihat di sini ranking satunya adalah kelas yang nomor 4. Kemudian yang kedua adalah data yang ke-10. Nah yang ketiga ini sama gitu ya, 8, 9, nggak apa-apa. Kita lihat di sini untuk...

Majority kelasnya, ini yang pertama masuk ke kelas 2. Yang kedua masuk ke kelas 2 juga. Nah, yang ketiga ini masuk ke kelas 1. Tapi kan yang di sini banyaknya kelas 2 ya. Maka otomatis ini masuk ke kelas ke 2. Nah, ini sesuai. Kita coba lagi mungkin ya.

Kita jalankan lagi. Kita ambil misalnya data trendingnya 10. Kemudian kaknya kita ambil 5 misalnya. Kita coba copy aja ya. Copy datanya ke Excel tadi.

Seperti ini. Kemudian kita coba lakukan pengujian, testing datanya. Misalkan kita ambil 7, data Y-nya kita ambil, oh maaf ini kelas 2-nya 1 ya, kita ambil 8. Oke, 7 sama 8 kita masukkan ke sini.

Ini tadi kelasnya belum dimasukkan ya. Saya copy lagi aja. Nah, seperti itu. Untuk klasifikasinya, maaf, tadi ini copy-nya di sini harusnya ya.

Nah, ini nomornya. Nah, seperti itu. Kita akan coba lagi untuk data yang berbeda. Tadi hanya 10 ya.

Nah, kita ujikan ya. Untuk data testingnya 7 sama 8. 7 sama 8. Ini hasil jarak Euclidnya sudah sesuai. Nomor 1 itu yang ini, masuk ke 2 gitu ya.

Tadi kaknya 5 ya. Berarti 1, special value ya. Kita lihat aja ini karena semua 1 ya. Berarti masuknya adalah kelas 1. Kita coba ya, testing.

Hasilnya adalah kelas 1, seperti itu. Jadi KNN ini memang simple, tapi berhasil untuk mengklasifikasikan secara powerful untuk suatu kasus. Ini referensinya. Terima kasih, sekian dari saya.

Assalamualaikum warahmatullahi wabarakatuh.