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.
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.
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!
Jika Anda yang sedang belajar data science atau mengolah data dengan bahasa pemrograman Python namun masih suka bingung menulis kode Python-nya, kami telah menyusun Paket E-modul Data Science dengan Python yang didesain khusus untuk pemula dengan penjelasan bahasa Indonesia yang lengkap untuk setiap blok kode-nya. Dapatkan sekarang juga dengan klik di sini!