Machine Learning “Hello World” — Part 04 — Evaluasi Algoritma Learning
Ini adalah waktunya untuk masuk ke pertunjukan sebenarnya dari machine learning.
Kita akan membuat model dari data yang ada dan melakukan estimasi terhadap akurasi dari data yang belum diketahui sebelumnya. Berikut langkah-langkah nya
- Memisahkan dataset untuk validasi
- Membuat test untuk 10 fold cross validation
- Membangun 6 model untuk memprediksi spesies bunga dari pengukuran bunga
- Memilih model yang terbaik
- Melakukan prediksi dengan model yang terbaik
Dataset untuk validasi
Mari kita mulai membagi dataset untuk validasi dan untuk training. Kita perlu mengetahui apakah model yang akan kita buat adalah model yang baik. Kemudian kita akhirnya akan menggunakan metode statistik untuk melakukan estimasi akurasi dari model terhadap data yang belum diketahui sebelumnya. Kita akan membagi dataset tersebut menjadi dua bagian 80% digunakan untuk training model dan 20% digunakan untuk validasi.
Sekarang kita telah memiliki data untuk training di X_train dan Y_train untuk membuat mode dan X_validation dan Y_validation yang dapat kita gunakan untuk memvalidasi model yang dibuat.
Kita akan menggunakan teknik 10-fold cross validation untuk melakukan estimasi akurasi. Kita akan membagi dataset kita menjadi 10 bagian, 9 untuk training dan 1 lagi untuk test. Kita akan melakukan kombinasi train-test split. Kita akan menggunakan akurasi matrix untuk melakukan evaluasi model. Ini adalah rasio dari jumlah prediksi yang benar dibagi dengan jumlah instance dari dataset dikali dengan 100 untuk mendapatkan persentasi. Kita akan menggunakan scoring variable dalam membangun dan mengevaluasi setiap model.
Membangun model
Kita tidak tahu algoritma machine learning mana yang terbaik untuk masalah iris ini dan konfigurasi apa yang tepat. Seperti yang sebelumnya kita sampaikan bahwa machine learning dan data mining adalah experimental science. Jadi kita perlu mencoba-coba algoritma dan menentukan mana yang cocok berdasarkan statistik.
Mari kita melakukan evaluasi terhadap 6 algoritma yang berbeda
- Logistic Regression (LR)
- Linear Discriminant Analysis ( LDA ).
- k-Nearest Neighbors ( KNN )
- Classification dan Regression Tree ( CART )
- Gaussian Naive Bayes ( NB )
- Support Vector Machine ( SVM )
List di atas merupakan kombinasi yang bagus antara algoritma Linear sederhana ( LR and LDA ) dan juga non linear ( KNN, CART, NB, SVM ). Mari kita evaluasi ke enam algoritma tersebut.
Sekarang kita sudah dapat menentukan model mana yang akan kita gunakan. Kita dapat melihat bahwa KNN memiliki akurasi yang terbaik. Sekarang kita akan melakukan validasi terhadap testing data set yang telah kita sisihkan sebelumnya.
Kita mendapatkan akurasi 90% ! Good progress.
Confusion matrix juga menunjukkan bahwa ada 3 error yang tercipta.
Untuk mengetahui lebih dalam mengenai confusion matrix kita dapat melihat pada tutorial berikut.
http://www.dataschool.io/simple-guide-to-confusion-matrix-terminology/
Selamat anda sudah melakukan end to end machine learning project. Anda juga mendapatkan accuracy yang cukup baik. Sekarang kita dapat beranjak menuju tutorial yang lebih menantang lagi. Bagaimana memulai kompetisi di Kaggle !!
Ikuti terus seri tutorial pada blog ini.
Cheers