Model Evaluation
Introduction
Evaluasi model machine learning adalah proses mengevaluasi kinerja dari suatu model machine learning. Evaluasi ini dilakukan dengan menguji model pada data yang tidak terlihat sebelumnya (test set) untuk memeriksa kemampuan model dalam
menggeneralisasi pola dari data latih ke data baru yang belum pernah dilihat sebelumnya.
Saat ini kamu sedang membuat suatu pemecahan masalah pada kasus "Prediksi kredit macet pada pinjaman bank", kamu telah menyiapkan dataset dengan melakukan proses seperti pemilihan fitur, reduksi dimensi, pengambilan sampel, dan sebagainya. Setelah dataset siap, kamu akan melatih model yang sesuai, misalnya
dengan menggunakan Support Vector Machine. Namun, setelah model dibuat, ternyata kamu perlu mengetahui bagaimana cara mengukur performa model untuk memastikan bahwa model tersebut bekerja dengan baik.
Pada masalah yang kamu hadapi adalah seputar model klasifikasi seperti yang dijelaskan sebelumnya, misalnya dalam memprediksi kredit macet pada pinjaman bank. Karena model lain seperti model regresi memiliki pendekatan yang berbeda. Berbicara mengenai performa model Machine Learning pasti banyak yang mengira kuncinya adalah akurasi yang tinggi. Menurut saya ini tidak sepenuhnya tepat.
Akurasi klasifikasi adalah pembagian dari jumlah prediksi benar terhadap jumlah total prediksi. Akurasi bisa saja menyesatkan, dalam kasus dimana ketidakseimbangan kelas yang besar (large class imbalance). Model klasifikasi dapat memprediksi nilai pada kelas terbesar untuk semua prediksi dan bisa memberikan nilai akurasi yang tinggi dan tentu saja model yang dihasilkan dapat memprediksikan nilai yang salah, sehingga perlu matrik evaluasi lain yang dapat mengukur performa model klasifikasi yang kita buat.
sumber : https://en.wikipedia.org/wiki/File:Precisionrecall.svg
Beberapa metrik yang digunakan untuk mengevaluasi model machine learning meliputi:
1. R-squared (R2): Pengukuran yang mengindikasikan seberapa baik model cocok dengan data yang digunakan.
2. Mean Squared Error (MSE): Pengukuran seberapa dekat prediksi dengan nilai sebenarnya pada masalah regresi.
3. Area Under Curve (AUC): Pengukuran keseluruhan kinerja model, terutama digunakan pada model yang menggunakan threshold untuk memutuskan kelas prediksi.
4. F1-score: Rata-rata harmonis dari Precision dan recall, memberikan ukuran yang seimbang antara keduanya.
5. Recall: Seberapa sering model dapat mengidentifikasi kelas positif dari semua data yang sebenarnya positif.
6. Precision : Seberapa sering model benar dalam memprediksi kelas positif dari data yang baru.
7. Akurasi: Seberapa sering model benar dalam memprediksi kelas dari data yang baru.
Evaluasi model machine learning yang tepat sangat penting untuk memastikan model yang dihasilkan dapat digunakan dengan baik untuk tujuan tertentu dan memberikan hasil yang dapat diandalkan.
Sebelum kita melanjutkan pembahasan pada matrik evaluasi kita akan belajar beberapa istilah yang akan sering muncul pada tahap evaluasi model yaitu:
Binary Classification Problem
Dalam kasus binary classification kita akan dihadapkan pada hasil prediksi berupa True Positive (TF), True Negative (TN), False Positive (FP), False Negative (FN).
sumber : https://en.wikipedia.org/wiki/File:Precisionrecall.svg
True Positive (TP) adalah ketika model memprediksi contoh data sebagai kelas positif, dan kelas sebenarnya dari contoh data tersebut juga merupakan kelas positif.
False Positive (FP) adalah ketika model memprediksi contoh data sebagai kelas positif, tetapi kelas sebenarnya dari contoh data tersebut adalah kelas negatif.
True Negative (TN) adalah ketika model memprediksi contoh data sebagai kelas negatif, dan kelas sebenarnya dari contoh data tersebut juga merupakan kelas negatif.
False Negative (FN) adalah ketika model memprediksi contoh data sebagai kelas negatif, tetapi kelas sebenarnya dari contoh data tersebut adalah kelas positif.
Confusion Matrix
Setelah memahami apa istilah pada hasil prediksi (TF, TN, FP, dan FN) kita akan belajar Confusion Matrix untuk mempermudah dalam memahaminya
Confusion matrix adalah tabel matriks yang digunakan untuk mengevaluasi performa model machine learning pada binary classification. Confusion matrix menampilkan
jumlah True Positive (TP), False Positive (FP), True Negative (TN), dan False Negative (FN) dari hasil prediksi model terhadap data testing. Confusion matrix biasanya memiliki bentuk seperti berikut:
|
Actual Positive |
Actual Negative |
Predicted Positive |
True Positive (TP) |
False Positive (FP) |
Predicted Negative |
False Negative (FN) |
True Negative (TN) |
Dalam confusion matrix, True Positive (TP) adalah jumlah contoh data yang diprediksi sebagai kelas positif yang sebenarnya merupakan kelas positif. False Positive (FP) adalah jumlah contoh data yang diprediksi sebagai kelas positif tetapi sebenarnya merupakan kelas negatif. True Negative (TN) adalah jumlah contoh data yang diprediksi sebagai kelas negatif yang sebenarnya merupakan kelas negatif. False Negative (FN) adalah jumlah contoh data yang diprediksi sebagai kelas negatif tetapi sebenarnya merupakan kelas positif. Berdasarkan Confusion Matrix, kita bisa menentukan Precision dan Recall.
Precision
Precision merupakan pembagian dari jumlah total contoh positif yang diklasifikasikan bernilai benar dengan jumlah total contoh positif yang diprediksi. High Precision menunjukkan contoh berlabel positif memang positif (FP rendah).
Recall
Recall dapat didefinisikan sebagai rasio dari jumlah total contoh positif yang diklasifikasikan bernilai benar dibagi dengan jumlah total contoh positif. High Recall menunjukkan kelas dikenali dengan baik (FN rendah).
Simpulan
Banyak hal yang bisa di dapatkan dari metrik Precision dan Recall, kita juga bisa menurunkan nya menjadi metrik lain yang dapat memberikan arti lebih banyak, contohnya adalah F1 Score.
Namun demikian, berkenaan dengan Precision dan Recall sangat bergantung pada skenario yang kita miliki dan permasalahan apa yang sedang kita hadapi.
Adakalanya kita menginginkan model yang dapat memprediksi dengan sangat akurat dibandingkan mengambil semua hasil yang mungkin (High Precision) dan ada kalanya juga kita butuh mengambil semua hasil yang mungkin dibandingkan mengambil hasil yang bernilai benar saja(High Recall)
Quiz
1. Matrik evaluasi apa yang biasanya digunakan untuk model klasifikasi? a. Mean Absolute Error (MAE)
b. Root Mean Squared Error (RMSE)
c. F1 Score
d. R Squared (R2)
2. Apa yang dimaksud dengan Precision dalam evaluasi model klasifikasi? a. Kemampuan model untuk memprediksi benar kelas positif b. Kemampuan model untuk mengenali semua kasus kelas positif yang sebenarnya
c. Kemampuan model untuk memprediksi benar kelas negatif
d. Kemampuan model untuk mengenali semua kasus kelas negatif yang sebenarnya
3. Apa yang dimaksud dengan Recall dalam evaluasi model klasifikasi? a. Kemampuan model untuk memprediksi benar kelas positif
b. Kemampuan model untuk mengenali semua kasus kelas positif yang sebenarnya
c. Kemampuan model untuk memprediksi benar kelas negatif
d. Kemampuan model untuk mengenali semua kasus kelas negatif yang sebenarnya
4. Apa yang dimaksud dengan Confusion Matrix dalam evaluasi model klasifikasi? a. Tabel yang menunjukkan jumlah kasus prediksi yang benar dan salah berdasarkan kelas prediksi dan kelas sebenarnya
b. Metrik yang mengukur jarak antara nilai prediksi dan nilai sebenarnya c. Metode evaluasi yang menghitung rata-rata kesalahan prediksi pada model machine learning
d. Metode evaluasi yang mengukur seberapa akurat model machine learning dalam memprediksi nilai yang tepat
5. Apa yang dimaksud dengan Area Under the Curve (AUC) dalam evaluasi model klasifikasi?
a. Metrik yang mengukur seberapa akurat model machine learning dalam memprediksi nilai yang tepat
b. Metrik yang mengukur jarak antara nilai prediksi dan nilai sebenarnya c. Metode evaluasi yang menghitung rata-rata kesalahan prediksi pada model machine learning
d. Metrik yang mengukur seberapa baik model machine learning membedakan antara kelas positif dan kelas negatif
Referensi
JWGP-intro-to-ml-chap9-secured.pdf (wiragotama.github.io)
#3 Machine Learning Evaluation. Precision, Recall dan Confusion Matrix | by Muhammad Yunus | Medium
Workflow of a Machine Learning project | by Ayush Pant | Towards Data Science Idiots Guide to Precision, Recall and Confusion Matrix | HackerNoon
Beyond Accuracy: Precision and Recall | by Will Koehrsen | Towards Data Science
machine learning - Why is accuracy not the best measure for assessing classification models? - Cross Validated (stackexchange.com)
Confusion Matrix in Machine Learning - GeeksforGeeks
Explaining precision and recall. The first days and weeks of getting | by Andreas Klintberg | Medium