Cara memilih algoritma machine learning untuk proyek data science

Cara Memilih Algoritma Machine Learning

Posted by

Memilih algoritma machine learning yang tepat untuk proyek data science yang sedang kita kerjakan merupakan bagian penting karena akan mempengaruhi hasil yang akan diperoleh. Banyak algoritma machine learning yang dapat kita pilih untuk setiap tipe kasus yang ingin diselesaikan. Namun, terkadang kita masih bingung hal-hal apa saja yang harus dipertimbangkan dalam pemilihan algoritma machine learning.

Jenis kasus/masalah

Hal pertama yang harus diperhatikan dalam memilih algoritma machine learning adalah kita harus paham masalah apa yang akan diselesaikan. Ada beberapa jenis masalah yang dapat diselesaikan dengan machine learning, seperti regresi, klasifikasi, clustering, anomaly detection, recommender, text analytic, dan image classification.

Setelah mengetahui masalahnya, barulah kita memilih opsi algoritma apa saja yang mungkin dapat digunakan untuk menyelesaikan masalah tersebut dan mengeliminasi algoritma yang tidak mungkin digunakan. Misalnya saat kita akan mengerjakan permasalahan klasifikasi, kita bisa mengeliminasi Linear Regression dari pilihan karena algoritma Linear Regression hanya dapat dipakai untuk menyelesaikan masalah regresi.

Baca juga: Konsep Regresi Linear: Simple Linear Regression

Ukuran training set

Untuk mendapatkan hasil prediksi yang baik dan akurat, biasanya kita direkomendasikan agar memiliki data training dalam jumlah besar. Namun, terkadang ketersediaan data itu sendiri terbatas. Jadi bagaimana mengakalinya?

Jika Anda memiliki data training dengan jumlah yang sedikit tetapi memiliki banyak fitur, pilihlah algoritma yang high bias/low variance seperti Linear SVM, Linear Regression, atau Naïve Bayes. Namun, jika Anda memiliki data training dalam jumlah besar atau banyak dan fitur yang digunakan juga banyak, maka pilihlah algoritma yang low bias/high variance seperti Decision Tree, K-Nearest Neighbor (KNN) atau Kernel SVM.

Akurasi

Akurasi dalam machine learning merupakan ukuran keefektifan sebuah model sebagai proporsi dari hasil yang benar atau sesuai dari total data yang ada. Namun kebutuhan skor akurasi sendiri berbeda tergantung pada kasusnya. Terkadang kita hanya membutuhkan metode perkiraan untuk mengurangi waktu proses dan menghindari overfitting.

Untuk mengetahui algoritma yang terbaik, Anda dapat membandingkan nilai akurasi dari model-model yang menggunakan algoritma berbeda, namun menggunakan dataset yang sama.

Baca juga: Perbedaan Supervised dan Unsupervised Learning

Kecepatan waktu training

Seperti yang kita ketahui bahwa ada banyak algoritma yang dapat digunakan dalam machine learning. Nah, algoritma-algoritma tersebut tentunya memiliki kecepatan waktu proses training yang berbeda-beda. Ini mungkin terlihat ketika dataset yang digunakan berjumlah sangat banyak. Linear Regression, Logistic Regression dan Support Vector Machine (SVM) adalah termasuk algoritma-algoritma yang memiliki kecepatan yang baik.

Linearitas

Sebagian algoritma machine learning menggunakan konsep linearitas seperti Support Vector Machine (SVM), Linear Regression, dan Logistic Regression. Untuk beberapa kasus, algoritma dengan konsep linearitas bukan sebuah masalah dan tidak menimbulkan dampak buruk. Namun, bagi sebagian kasus, ini mungkin akan membuat akurasi menurun.

Terlepas dari dampak yang mungkin ditimbulkan, algoritma semacam ini sangat populer untuk digunakan sebagai pilihan pertama karena dinilai simple dan cepat dalam proses training.

Jumlah parameter

Parameter-parameter yang digunakan pada algoritma machine learning berperan penting dalam membangun model machine learning yang baik. Parameter mempengaruhi bagaimana algoritma tersebut akan bekerja, seperti menoleransi kesalahan, jumlah iterasi, atau berbagai pilihan lainnya. Oleh karena itu, kombinasi dari parameter-parameter yang bisa digunakan juga perlu dipertimbangkan untuk memilih algoritma machine learning yang baik.

Baca juga: 5 Perbedaan List dan Tuple di Python

Jumlah fitur

Di dalam machine learning, fitur merupakan variabel yang ingin dianalisis. Untuk beberapa jenis data tertentu, jumlah fitur bisa sangat besar dibandingkan dengan jumlah datanya, misalnya pada jenis data genetik dan data tekstual. Banyaknya jumlah fitur dapat memperlambat proses training beberapa algoritma. Support Vector Machine (SVM) merupakan salah satu algoritma yang cocok untuk jenis kasus seperti ini.

Semoga bermanfaat!

Other Posts