Studi Kasus K-Nearest Neigbhor Clasiffier Sederhana dengan Datasets Iris — [Supervised Learning — ML]
Pada kali ini kita akan membahas studi kasus model dari teknik Supervised Learning. Kita throwback dulu sedikit mengenai Supervised Learning ya!
Supervised learning ini menggunakan data training untuk melakukan pembelajaran pada mesin. Tujuannya adalah agar mesin mampu mengidentifikasi label dari data training dengan fitur yang dimilikinya untuk melakukan suatu prediksi maupun klasifikasi. Kali ini kita akan fokus bahas salah satu model dari Supervised Learning yaitu Klasifikasi, lebih tepatnya adalah KNN Clasiffier.
Model klasifikasi menggunakan data yang memiliki input data training dan nilai output data target. Contoh klasifikasi disini misalnya mengkategorikan sebuah email yang masuk sebagai spam atau bukan spam.
Nah hari ini kita akan coba studi kasus model Klasifikasi dengan KNN. Kalian tau gak sih KNN tu apaa ??
KNN merupakan salah satu algoritma untuk melakukan klasifikasi dara berdasar atribyt dan sampel data training untuk pembelajaran mesin sederhana. Algortima KNN ini menggunaka neighborhood classification sebagai nilai prediksi dari instance yang baru. Berdasar kata neighbor atau yang berarti tetangga, KNN ini melakukan pembelajaran hanya didasarkan pada gagasan bahwa suatu data yang dekat satu sama lain berarti memiliki karakteristik yang mirip. Ini berarti jika kita mengetahui ciri-ciri dari salah satu objek, maka kita juga dapat memprediksi objek lain berdasarkan tetangga terdekatnya. Jauh dekatnya tetangga biasanga dihitung berdasarkan jarak euclideon (d) untuk menxari jarak antara 2 titik dalam ruang 2D. Formula nya seperti ini :
Algoritma KNN berjalan berdasar jarak minimum dari data baru ke data training untuk menentukan jumlah K tetangga terdekat. Sedangkan nilai K terbaik bergantung pada data dan juga bisa eilakukan optimasi parameter. Bagaimana sih nilai K yang baik ??
Nilai K yang baik adalah nilai K yang tinggi karna dapat mengurangi efek noise pada klasifikasi, tetapi hal ini membuat batasan klasifikasi menjadi lebih kabur.
Langkah-langkah algoritma KNN
Jika sudah paham algoritma KNN Clasiffier, let’s go kita langsung masuk studi kasusnyaa!~
Studi Kasus
Kalian sering denger gak sih bunga iris ??? Yaa, bunga iris sering dijadikan datasets iris untuk latihan studi kasus pembelajaran mesin. Ibaratnya, datasets iris adalah hello world atau datasets sejuta umat programmer di dunia ini wkwk #lebay. Hal ini juga karena datasets iris sudah disediakan pada library sklearn pada python. Pada studi kasus dataset iris ini kita mengklasifikasi bunga setosa, versicolor, dan virginica dengan menggunakan atribut panjang sepal, lebar sepal, panjang petal dan lebar petal pada dataset iris. Okay seperti biasa kita cobanya lewat google colab yaa kalian bisa coba langsung di website tanpa harus download softwarenya, dia mirip 11 12 lah sama jupyter notebook, cocok banget buat laptop yang sudah tua dan sering ngelag ><
Ok, cus langsung aja brader~!
- Memanggil library yang akan kita gunakan
Library yang digunakan pada kasus ini adalah :
- Pandas, yaitu library dari Python yang biasanya digunakan untuk manipulasi data. Pandas secara umumnya digunakan seperti membuat tabel, mengubah dimensi data, mengecek data, dan semacamnya.
- Matplotlib, yaitu library dari Python yang biasanya digunakan untuk membuat grafik plot sesuai keinginan kita.
- Sklearn, yaitu library dari Python yang biasanya digunakan untuk berbagai metode dan algoritma machine learning.
2. Memanggil dataset dari library python
Kita juga bisa menampilkan dictionary keys dari data bunga dan juga menampilkan tipe dari atribut, seperti dibawah ini
Juga bisa menampilkab jumlah baris kolom dari dataset serta menampilkan target dari data.
3. Mengonversi Dataset ke dalam Tipe Data Frame
Sebelum mengonversi ke tipe data frame, kita panggil dulu data training (x) dan juga data target (y) baru setelah itu di konversi ke tipe data frame.
Print(df.head()) ini menghasilkan output berupa 5 barus pertana dari isi data frame.
4. Memanggil K-NN Clasiffier
5. Melakukan Prediksi
Nah ini aku coba masukin data asal (panjang sepal, lebar sepal, panjang petal, lebar petal) dan oleh mesin pembelajaran kita diprediksi bahwa jenis bunga nya adalah virginica. Prediksi ini berdasarkan nilai terdekat yang mempunyai ciri paling dekat pada dataset.
Okey, next kita akan coba bikin visualisasinya pada numpy yaaaps! Semangat belajar kangkawan semuaa~~