Skip to main content

2. Clasification Regresion Clustering.html

Klasifikasi, Regresi, Clustering

 

Pendahuluan

Hai Stupenss! Apa kabar? Pada materi sebelumnya, kita telah belajar tentang pengenalan machine learning yang membuka jalan untuk kita mempelajari lebih lanjut tentang topik menarik lainnya dalam machine learning. Hari ini, kita akan membahas topik yang lebih mendalam dalam machine learning, yaitu Klasifikasi, clustering, dan Regression. Materi ini sangat penting karena dengan menguasai ketiga topik ini, kita dapat membuat model machine learning yang dapat memprediksi dan mengklasifikasikan data dengan akurasi yang tinggi. Jadi, mari kita mulai pelajari materi machine learning yang menarik bersama-sama!

Klasifikasi

Klasifikasi adalah salah satu teknik paling penting dalam machine learning yang memungkinkan kita untuk memprediksi kelas atau kategori dari suatu data berdasarkan fitur-fitur atau atribut yang dimilikinya. Bayangkan Anda memiliki sejumlah data, seperti gambar atau teks, dan Anda ingin mengelompokkan data tersebut ke dalam beberapa kelas atau kategori. Nah, dengan menggunakan Klasifikasi, Anda dapat membuat model machine learning yang dapat mempelajari pola dalam data tersebut dan mengklasifikasikan nya ke dalam kelas yang sesuai.

Contohnya, jika kita ingin membuat model untuk mengklasifikasikan apel dan jeruk berdasarkan fitur seperti warna dan ukuran, maka kita dapat mengumpulkan sejumlah data berisi gambar apel dan jeruk yang telah di-label dengan benar, lalu kita bisa menggunakan teknik Klasifikasi untuk membuat model yang dapat memprediksi apakah gambar baru yang diberikan itu merupakan gambar apel atau jeruk.

Klasifikasi merupakan teknik yang sangat berguna dan banyak digunakan dalam berbagai bidang, seperti pengenalan wajah, identifikasi spam email, dan Klasifikasi citra medis. Dengan memahami dan menguasai teknik Klasifikasi ini, kita dapat membuat model machine learning yang dapat memprediksi dengan akurasi yang tinggi dan membantu kita dalam pengambilan keputusan yang lebih baik.

Selain itu, untuk meningkatkan akurasi model Klasifikasi, diperlukan proses pra pemrosesan data yang baik, seperti normalisasi, penghapusan data yang tidak relevan, dan penanganan data yang hilang atau tidak lengkap. Selain itu, dalam membangun model Klasifikasi, diperlukan juga teknik evaluasi model yang tepat, seperti Confusion Metrics dan Accuracy Score, untuk mengukur kinerja model.

Terdapat banyak jenis algoritma Klasifikasi yang dapat digunakan di machine learning, pada materi kali ini kita akan membahas 2 contoh yaitu SVM dan KNN :

SVM (Support Vector Machine)

Sudah tahukah kalian apa itu SVM? SVM atau Support Vector Machine merupakan metode dalam supervised learning yang biasanya digunakan untuk klasifikasi dan regresi. Apa yang membedakan SVM dengan teknik-teknik

klasifikasi lainnya? SVM memiliki konsep yang lebih matang dan jelas secara matematis, yang membuatnya mampu mengatasi masalah klasifikasi dan regresi dengan linier maupun non-linear.

Keuntungan dari SVM adalah efektif digunakan di ruang dengan dimensi tinggi dan menggunakan subset dari titik latih dalam fungsi keputusan sehingga hemat memori.

kelemahan SVM adalah algoritma ini tidak memberikan perkiraan probabilitas secara langsung. Hal ini harus dihitung dengan menggunakan metode cross validation yang mahal, seperti dengan menggunakan teknik five-fold cross validation.

Untuk memahami lebih lanjut, SVM menggunakan sebuah konsep yang disebut dengan hyperplane. Apa itu hyperplane? Hyperplane adalah sebuah fungsi yang bisa digunakan untuk memisahkan antar kelas. Di dalam 2-D, fungsi yang digunakan untuk klasifikasi antar kelas disebut sebagai line, sedangkan di dalam 3-D disebut sebagai plane. Nah, untuk klasifikasi antar kelas dalam ruang kelas dimensi yang lebih tinggi, digunakan hyperplane.

Tugas SVM adalah mencari hyperplane terbaik dengan memaksimalkan jarak antar kelas. Dengan memilih hyperplane terbaik, SVM bisa memaksimalkan margin antara kelas, sehingga hasil klasifikasinya bisa lebih akurat. Jadi, apabila kamu sedang mencari algoritma klasifikasi yang matematis dan mampu mengatasi masalah klasifikasi dan regresi dengan baik, SVM bisa menjadi pilihan yang tepat!

KNN

K-NN atau K-Nearest Neighbor adalah salah satu algoritma pembelajaran mesin yang populer dalam klasifikasi dan regresi. Algoritma K-NN bekerja berdasarkan prinsip bahwa objek yang memiliki kesamaan akan cenderung berada dalam kelas yang sama.

Dalam algoritma K-NN, objek yang akan diklasifikasikan akan diberikan label k berdasarkan k objek terdekat dengan objek tersebut di dalam data training. Jadi, jika kita memilih nilai k=3, maka objek tersebut akan diberikan label kelas yang paling sering muncul di antara 3 objek terdekat tersebut.

Keuntungan dari algoritma K-NN adalah bahwa ia tidak memerlukan training model karena algoritma ini memanfaatkan seluruh data training untuk melakukan klasifikasi. Namun, hal ini juga bisa menjadi kelemahan dari algoritma ini karena

membutuhkan waktu dan sumber daya yang besar untuk memproses dan mengklasifikasikan data baru.

Kelemahan dari K-NN adalah. Perlu menentukan nilai k dan biaya komputasi yang tinggi karena harus menghitung jarak setiap contoh dengan semua sampel pelatihan.

Dalam algoritma K-NN, jarak antara objek yang akan diklasifikasikan dan objek yang telah ada di dalam data training dihitung menggunakan metrics jarak seperti Euclidean distance dan Manhattan distance. K-NN juga bisa digunakan untuk melakukan regresi dengan menghitung rata-rata nilai target dari k objek terdekat untuk memprediksi nilai target dari objek yang akan diregresi.

Secara keseluruhan, algoritma K-NN bisa menjadi pilihan yang baik untuk masalah klasifikasi dan regresi karena kemudahan implementasinya dan kinerjanya yang cukup baik pada dataset dengan jumlah sampel kecil hingga sedang.

Regresi

Regresi Merupakan salah satu teknik dalam machine learning yang digunakan untuk memodelkan hubungan antara variabel input (X) dengan variabel output (Y). Regresi Digunakan untuk memprediksi nilai output berdasarkan nilai input yang diberikan. Contoh kasus yang sering digunakan untuk Regresi Adalah

memprediksi harga rumah berdasarkan fitur-fitur tertentu seperti ukuran, lokasi, dan jumlah kamar.

Dalam regression, tujuan utama adalah untuk menemukan model matematis yang dapat memetakan variabel input ke variabel output dengan akurasi yang tinggi. Dalam model ini, input dikenal dengan sebutan feature dan output disebut dengan target atau label. Model regresi bisa digunakan untuk memprediksi nilai target berdasarkan nilai feature yang diberikan.

Terdapat beberapa jenis regression, namun kali ini kita akan bahas 2 diantaranya yaitu:

Linear Regresi

Linear Regresi merupakan salah satu algoritma yang paling dasar dan sering digunakan dalam machine learning. Tujuan utama dari linear Regresi adalah untuk menemukan hubungan linier antara variabel input (X) dan variabel output (Y) yang ditentukan oleh suatu set data. Linear Regresi menggunakan persamaan linear untuk memprediksi nilai Y berdasarkan nilai X yang diberikan. Persamaan linear ini dinyatakan sebagai berikut:

Y = a + bX

Di mana Y adalah variabel dependen (output), X adalah variabel independen (input), a adalah intercept, dan b adalah koefisien regresi.

Tujuan utama dari linear Regresi adalah untuk menemukan nilai terbaik untuk parameter a dan b dalam persamaan di atas, sehingga model tersebut dapat memprediksi nilai Y dengan akurasi yang optimal berdasarkan data yang ada.

Untuk menemukan nilai terbaik dari parameter a dan b, digunakan teknik least square regression. Teknik ini menemukan nilai terbaik dari parameter a dan b yang memberikan nilai error yang paling kecil antara prediksi dan data yang sebenarnya.

Linear Regresi dapat digunakan dalam berbagai aplikasi, termasuk prediksi harga saham, prediksi cuaca, dan prediksi kinerja bisnis. Namun, penting untuk diingat bahwa linear Regresi hanya efektif untuk memprediksi hubungan linier antara variabel input dan output. Jika hubungan antara variabel tersebut non linear, maka model regresi non-linear harus digunakan.

Polinomial Regresi

Polinomial Regresi adalah sebuah teknik regresi linier yang digunakan untuk memodelkan hubungan antara variabel independen (x) dan variabel dependen Yes dengan menggunakan fungsi polinomial. Fungsi polinomial adalah fungsi yang terdiri dari beberapa suku pangkat dengan variabel independen (x) yang sama.

Dalam polynomial regression, hubungan antara x dan y dimodelkan dengan menggunakan persamaan polinomial dari derajat tertentu. Sebagai contoh, jika kita memiliki data yang dapat dipresentasikan dalam bentuk kurva U, maka kita dapat menggunakan polinomial Regresi untuk memodelkan hubungan antara x dan y dengan menggunakan fungsi polinomial yang sesuai untuk kurva U tersebut.

Persamaan umum untuk polinomial Regresi adalah:

Dimana y adalah variabel dependen, x adalah variabel independen, dan b0, b1, b2, ..., bn adalah koefisien yang harus diestimasi. Derajat polinomial ditentukan

oleh nilai n. Semakin besar nilai n, semakin kompleks modelnya.

Untuk menentukan nilai koefisien b0, b1, b2, ..., bn, kita menggunakan metode least squares. Metode ini mencari nilai koefisien yang memberikan kesalahan prediksi terkecil antara nilai aktual dan nilai yang diprediksi oleh model.

Keuntungan dari polinomial regresi adalah fleksibilitasnya untuk memodelkan hubungan yang kompleks antara variabel independen dan dependen. Namun, kelemahannya adalah semakin tinggi derajat polinomial, semakin kompleks modelnya dan semakin besar kemungkinan terjadi overfitting. Oleh karena itu, pemilihan derajat polinomial harus dilakukan dengan hati-hati dan harus diuji dengan menggunakan teknik cross-validation untuk memastikan bahwa model dapat digeneralisasi dengan baik pada data baru.

Proses regresi dilakukan dengan membagi data menjadi 2 bagian, yaitu data training dan data testing. Data training digunakan untuk membuat model dan data testing digunakan untuk menguji akurasi model. Salah satu metrik evaluasi yang digunakan pada Regresi Adalah MSE (mean squared error), yang menghitung rata-rata dari kuadrat selisih antara nilai prediksi dengan nilai sebenarnya.

Dalam penggunaan regression, pemilihan feature atau variabel input sangat penting untuk menghasilkan model yang akurat. Selain itu, juga perlu dilakukan preprocessing terhadap data seperti normalisasi, scaling, dan handling missing value untuk mendapatkan hasil yang optimal.

Clustering

Clustering adalah salah satu teknik unsupervised learning dalam machine learning yang bertujuan untuk mengelompokkan data atau objek-objek ke dalam beberapa kelompok atau cluster berdasarkan kesamaan karakteristik atau ciri-ciri tertentu tanpa ada label kelas.

Pada dasarnya, algoritma clustering mencoba untuk menemukan pola atau struktur dalam data yang dapat membantu untuk memahami data tersebut secara lebih baik. Algoritma clustering berbeda dengan algoritma klasifikasi pada supervised learning yang sudah memiliki label kelas pada data pelatihan.

Kali ini kita akan membahas salah satu jenis Clustering, yaitu:

K-Means Clustering

K-Means Clustering merupakan salah satu metode clustering yang sering digunakan dalam analisis data. Metode ini bertujuan untuk mengelompokkan data ke dalam beberapa cluster yang berbeda, dengan setiap data ditempatkan pada cluster yang memiliki karakteristik yang mirip satu sama lain.

Pada dasarnya, K-Means Clustering bekerja dengan menghitung jarak antara setiap data dengan pusat cluster yang dipilih secara acak. Pusat cluster kemudian digeser ke posisi baru berdasarkan rata-rata dari data yang termasuk dalam cluster tersebut. Proses ini terus berlanjut hingga pusat cluster tidak berubah, atau perubahan jumlahnya kurang dari batas toleransi yang telah ditentukan.

Langkah-langkah dalam K-Means Clustering adalah sebagai berikut:

1.    Pilih nilai K, yaitu jumlah cluster yang ingin dibuat.

2.    Pilih K titik secara acak sebagai pusat cluster awal.

3.    Hitung jarak antara setiap data dengan pusat cluster terdekat.

4.    Masukkan setiap data ke dalam cluster yang memiliki pusat terdekat.

5.    Hitung rata-rata posisi data dalam setiap cluster, dan jadikan sebagai pusat cluster baru.

6.    Ulangi langkah 3-5 hingga pusat cluster tidak berubah, atau perubahan jumlahnya kurang dari batas toleransi yang telah ditentukan.

Salah satu kelebihan dari K-Means Clustering adalah kemampuannya dalam mengelompokkan data dengan cepat dan efisien, terutama pada data yang memiliki dimensi yang tinggi. Namun, terdapat beberapa kekurangan dari metode ini, seperti kepekaan terhadap nilai awal pusat cluster yang dipilih secara acak, dan kesulitan dalam menentukan nilai K yang optimal.

Oleh karena itu, penting bagi pengguna K-Means Clustering untuk memilih nilai K yang tepat dan melakukan uji coba dengan beberapa nilai awal pusat cluster yang berbeda untuk mendapatkan hasil yang lebih baik. Selain itu, penggunaan metode ini juga harus diperhatikan dalam hal interpretasi hasil clustering yang diperoleh.

Keuntungan menggunakan clustering antara lain dapat membantu dalam pemahaman terhadap data yang kompleks dan besar, mempercepat proses analisis data, serta membantu dalam memprediksi atau membuat keputusan berdasarkan pola data. Namun, algoritma clustering juga memiliki beberapa kelemahan, antara lain hasil clustering yang kurang stabil dan kurang dapat diinterpretasikan, serta sensitif terhadap nilai awal yang dipilih.

 

Quiz

Referensi

https://amaretha.medium.com/tipe-tipe-algoritma-machine-learning-mana-yang harus-digunakan-a5629e22d272

https://towardsdatascience.com/top-machine-learning-algorithms-for-Klasifikasi2197870ff501

Klasifikasi

https://medium.com/@samsudiney/penjelasan-sederhana-tentang-apa-itu-svm 149fec72bd02

https://www.futurelearn.com/info/courses/introduction-to-machine learning/0/steps/262230

https://www.simplilearn.com/regression-vs-Klasifikasi-in-machine-learning-article https://www.geeksforgeeks.org/ml-Klasifikasi-vs-regression/

https://medium.datadriveninvestor.com/problems-with-Klasifikasi-examples-from real-life-645b7b756e96

https://medium.com/analytics-vidhya/machine-learning-Klasifikasi-algorithms-with codes-5a8af4491fcb

https://medium.datadriveninvestor.com/Klasifikasi-algorithms-in-machine-learning 85c0ab65ff4

Last modified: Tuesday, 17 October 2023, 8:46 AM