
Membangun Model Klasifikasi dengan Decision Trees
Apa itu Model Klasifikasi? Model klasifikasi adalah salah satu jenis model machine learning yang digunakan untuk memprediksi kelas atau label dari data yang diberikan.
Apa itu machine learning?
Namun sebelum kita membahas lebih jauh, mari kita pahami terlebih dahulu apa itu model.
Sederhananya, model merupakan sebuah formula.
Contoh:
kecepatan = jarak / waktu
Formula di atas adalah model yang menghitung kecepatan berdasarkan jarak dan waktu. Sering melihatnya bukan?
Jadi apa itu machine learning?
Machine learning adalah sebuah cabang dari kecerdasan buatan (artificial intelligence) yang memungkinkan komputer untuk belajar dari data tanpa harus diprogram secara eksplisit. Dengan kata lain, machine learning memungkinkan komputer untuk belajar dari data yang dimasukkan ke dalamnya.
Jika penjelasan di atas terlalu teoritis, ingatlah ini:
Machine learning adalah mesin yang berusaha membuat formula.
Dalam machine learning, terdapat dua istilah:
Contohnya seperti ini:
Price = 0.3 + 1.5 * Area + 0.7 No. Rooms + 1.2 No. Floors
Dalam formula di atas, Area
, No. Rooms
dan No. Floors
merupakan feature, sedangkan Price
merupakan target.
Dan beberapa angka yang ada di dalam formula tersebut disebut dengan weight. Machine learning berusaha menemukan weight yang paling tepat untuk membuat prediksi yang akurat.
Machine learning akan membentuk pola dari data yang diberikan. Misalnya, jika kita melatih model untuk memprediksi harga rumah, data latih mungkin mencakup informasi seperti ukuran rumah, jumlah kamar, lokasi (feature) dan harga rumah (target).
Dari data latih, model akan mencari weight yang paling tepat sehingga mendapatkan minimum error berdasarkan pengujian. Nilai error minimum ini yang kita pilih sebagai model terbaik.
Model terbaik kemudian kita gunakan untuk memprediksi harga rumah berdasarkan feature baru yang diberikan.
Lihat gambar di atas? menarik bukan.
Ternyata machine learning hanyalah sebagian kecil dari AI. Singkatnya AI adalah umbrella yang mencakup machine learning dan deep learning.
Terdapat tiga jenis machine learning:
Pada supervised learning, model belajar dari data yang sudah dilabeli. Artinya, model belajar dari data yang sudah memiliki target.
Contohnya:
Tujuan dari supervised learning yaitu membuat model yang bisa memprediksi target dari feature yang diberikan.
Terdapat dua jenis supervised learning:
Maksudnya apa?
Misalnya, jika kita ingin memprediksi harga rumah, maka kita menggunakan regression, karena harga rumah merupakan nilai kontinu.
Namun jika kita ingin memprediksi apakah email itu spam atau bukan, maka kita menggunakan classification, karena email spam merupakan data kategorikal.
Pada unsupervised learning, model belajar dari data yang tidak dilabeli. Artinya, model belajar dari data yang tidak memiliki target.
Contohnya:
Tujuan dari unsupervised learning yaitu mencari pattern yang tersembunyi dalam data.
Pada reinforcement learning, model belajar dari interaksi dengan lingkungan. Artinya, model belajar dari reward dan punishment.
Contohnya:
Jadi, reinforcement learning akan belajar dari trial and error.
Untuk membuat model machine learning, tidak serta-merta kita langsung membuat model. Ada beberapa tahapan yang harus dilalui:
Pahami terlebih dahulu apa yang ingin dicapai. Pelajari bisnisnya, pelajari data yang ada, dan pelajari apa yang ingin dicapai.
Contohnya:
Prediksi penjualan ecommerce berdasarkan data penjualan sebelumnya. Maka kita harus pahami bisnisnya, pelajari data penjualan sebelumnya, dan pelajari apa yang ingin dicapai.
Pilih pendekatan yang akan digunakan. Apakah supervised learning, unsupervised learning, atau reinforcement learning. Pilih juga algoritma yang akan digunakan untuk membuat model.
Pahami data yang dibutuhkan:
Kumpulkan data yang dibutuhkan. Data bisa berasal dari berbagai sumber, seperti database, file, atau API. Pastikan data yang dikumpulkan sudah sesuai dengan data yang dibutuhkan. Jika data yang dibutuhkan belum ada, maka kita harus membuatnya terlebih dahulu.
Pembuatan data ini biasa disebut feature engineering.
Pahami data yang sudah dikumpulkan. Apakah data tersebut sudah bersih? Apakah data tersebut sudah siap digunakan untuk membuat model?
Siapkan data yang sudah dikumpulkan. Data yang sudah dikumpulkan mungkin belum siap digunakan. Data mungkin perlu di cleaning, transforming, atau scaling.
Data yang sudah siap ini biasa disebut feature matrix dan target vector.
Pembuatan model dimulai dari data yang sudah siap. Model yang dibuat harus bisa memprediksi target dari feature yang diberikan. Dalam beberapa algoritma, tidak semua feature bisa digunakan. Maka kita harus memilih feature yang paling berpengaruh.
Apa yang terjadi jika terlalu banyak feature?
Hal ini biasa disebut overfitting. Overfitting merupakan kondisi dimana model terlalu belajar dari data latih, sehingga tidak bisa memprediksi data uji dengan baik. Singkatnya, model ini menghafal, bukan belajar.
Lalu apa yang terjadi jika terlalu sedikit feature?
Hal ini biasa disebut underfitting. Underfitting merupakan kondisi dimana model terlalu sederhana, sehingga tidak bisa memprediksi data uji dengan baik. Singkatnya, model ini terlalu generalisasi.
Model yang sudah dibuat harus dievaluasi untuk mengetahui seberapa baik model tersebut dalam memprediksi target dari feature yang diberikan.
Evaluasi model biasanya menggunakan metric yang sesuai dengan jenis model yang dibuat. Misalnya, jika model yang dibuat adalah regression, maka kita bisa menggunakan metric seperti mean squared error atau mean absolute error.
Model yang sudah dievaluasi bisa di deploy ke environment production. Model yang sudah di deploy bisa digunakan untuk memprediksi target dari feature yang diberikan. Delivery model bisa dilakukan dengan berbagai cara, seperti API, web app, atau mobile app.
Model yang sudah di deploy bisa jadi tidak akurat jika data yang digunakan berubah. Maka model harus terus dimonitor dan diperbarui jika diperlukan. Inilah mengapa machine learning adalah iterative process, karena model harus terus diperbarui dari data yang telah ada.
Jadi, machine learning adalah sebuah cabang dari kecerdasan buatan (artificial intelligence) yang memungkinkan komputer untuk belajar dari data tanpa harus diprogram secara eksplisit. Dalam machine learning, terdapat tiga jenis machine learning: supervised learning, unsupervised learning, dan reinforcement learning.
Untuk membuat model machine learning, kita harus melewati beberapa tahapan, seperti bussiness understanding, analytic approach, data requirements, data collection, data understanding, data preparation, modeling, evaluation, deployment, dan feedback.
Apa itu Model Klasifikasi? Model klasifikasi adalah salah satu jenis model machine learning yang digunakan untuk memprediksi kelas atau label dari data yang diberikan.
Apa itu Regresi Linier? Regresi linier adalah metode statistik yang digunakan untuk memahami hubungan antara dua variabel, yaitu variabel dependen dan independen.
Setelah kita membahas Regresi dan Klasifikasi pada post sebelumnya, yang merupakan tipe machine learning Supervised, sekarang kita akan membahas tipe machine learning yang lain, yaitu Unsupervised Learning.
Apa itu regresi? Apa itu klasifikasi? Sebelum kita masuk ke definisi, mari kita pahami beberapa tipe machine learning.