Metrik evaluasi
Himpunan data Anda dibagi menjadi dua bagian: satu set untuk pelatihan, dan satu set untuk pengujian. Set pelatihan digunakan untuk melatih model, sementara set pengujian digunakan sebagai pengujian untuk model setelah pelatihan untuk menghitung performa dan evaluasi model. Set pengujian tidak diperkenalkan ke model melalui proses pelatihan, untuk memastikan bahwa model diuji pada data baru.
Evaluasi model dipicu secara otomatis setelah pelatihan berhasil diselesaikan. Proses evaluasi dimulai dengan menggunakan model terlatih untuk memprediksi kelas yang ditentukan pengguna untuk dokumen dalam set pengujian, dan membandingkannya dengan tag data yang disediakan (yang menetapkan dasar kebenaran). Hasil ditampilkan sehingga Anda dapat meninjau performa model. Untuk evaluasi, klasifikasi teks kustom menggunakan metrik berikut:
Presisi: Mengukur seberapa presisi/akurat model Anda. Ini adalah rasio antara positif yang diidentifikasi dengan benar (positif benar) dan semua positif yang diidentifikasi. Metrik presisi mengungkapkan berapa banyak kelas yang diprediksi diberi label dengan benar.
Precision = #True_Positive / (#True_Positive + #False_Positive)
Pengenalan: Mengukur kemampuan model untuk memprediksi kelas positif aktual. Ini adalah rasio antara prediksi positif benar dan yang sebenarnya diberi tag. Metrik pengenalan mengungkapkan berapa banyak kelas yang diprediksi benar.
Recall = #True_Positive / (#True_Positive + #False_Negatives)
F-measure: F-measure adalah fungsi dari Presisi dan Pengenalan. Hal ini diperlukan ketika Anda mencari keseimbangan antara Presisi dan Pengenalan.
F1 Score = 2 * Precision * Recall / (Precision + Recall)
Catatan
Presisi, pengenalan, dan F-measure dihitung untuk setiap kelas secara terpisah (evaluasi tingkat kelas) dan untuk model secara kolektif (evaluasi tingkat model).
Metrik evaluasi tingkat Model dan tingkat Kelas
Definisi presisi, pengenalan, dan evaluasi adalah sama untuk evaluasi tingkat kelas dan tingkat model. Namun, jumlah Positif Benar, Positif Palsu, dan Negative Palsu berbeda seperti yang ditunjukkan pada contoh berikut.
Bagian di bawah ini menggunakan contoh himpunan data berikut:
Dokumen | Kelas aktual | Kelas yang diprediksi |
---|---|---|
1 | tindakan, komedi | komedi |
2 | tindakan | tindakan |
3 | percintaan | percintaan |
4 | percintaan, komedi | percintaan |
5 | komedi | tindakan |
Evaluasi tingkat kelas untuk kelas tindakan
Tombol | Hitung | Penjelasan |
---|---|---|
Positif Benar | 1 | Dokumen 2 diklasifikasikan dengan benar sebagai tindakan. |
Positif Palsu | 1 | Dokumen 5 salah diklasifikasikan sebagai tindakan. |
Negatif Palsu | 1 | Dokumen 1 tidak diklasifikasikan sebagai Tindakan meskipun seharusnya demikian. |
Presisi = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5
Pengenalan = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5
Skor F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5
Evaluasi tingkat kelas untuk kelas komedi
Tombol | Hitung | Penjelasan |
---|---|---|
Positif benar | 1 | Dokumen 1 diklasifikasikan dengan benar sebagai komedi. |
Positif palsu | 0 | Tidak ada dokumen yang salah diklasifikasikan sebagai komedi. |
Negatif palsu | 2 | Dokumen 5 dan 4 tidak diklasifikasikan sebagai komedi meskipun seharusnya demikian. |
Presisi = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 0) = 1
Pengenalan = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 2) = 0.33
Skor F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 1 * 0.67) / (1 + 0.67) = 0.80
Evaluasi tingkat model untuk model kolektif
Tombol | Hitung | Penjelasan |
---|---|---|
Positif Benar | 4 | Dokumen 1, 2, 3 dan 4 diberikan kelas yang benar pada prediksi. |
Positif Palsu | 1 | Dokumen 5 diberikan kelas yang salah pada prediksi. |
Negatif Palsu | 2 | Dokumen 1 dan 4 tidak diberikan semua kelas yang benar pada prediksi. |
Presisi = #True_Positive / (#True_Positive + #False_Positive) = 4 / (4 + 1) = 0.8
Pengenalan = #True_Positive / (#True_Positive + #False_Negatives) = 4 / (4 + 2) = 0.67
Skor F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.8 * 0.67) / (0.8 + 0.67) = 0.73
Catatan
Untuk model klasifikasi label tunggal, jumlah negatif palsu dan positif palsu selalu sama. Model klasifikasi label tunggal kustom selalu memprediksi satu kelas untuk setiap dokumen. Jika prediksi tidak benar, jumlah FP dari kelas yang diprediksi bertambah satu dan FN dari kelas aktual bertambah satu, jumlah keseluruhan FP dan FN untuk model akan selalu sama. Ini tidak berlaku untuk klasifikasi multi-label, karena gagal memprediksi salah satu kelas dokumen dihitung sebagai negatif palsu.
Menginterpretasikan metrik evaluasi tingkat kelas
Lalu apa sebenarnya yang dimaksud dengan presisi tinggi atau pengenalan tinggi untuk kelas tertentu?
Tarik Kembali | Presisi | Interpretasi |
---|---|---|
Sangat Penting | Sangat Penting | Kelas ini ditangani dengan sempurna oleh model. |
Rendah | Tinggi | Model tidak selalu dapat memprediksi kelas ini tetapi ketika melakukannya dengan keyakinan tinggi. Ini mungkin karena kelas ini kurang terwakili dalam himpunan data, jadi pertimbangkan untuk menyeimbangkan distribusi data Anda. |
Sangat Penting | Kurang Penting | Model memprediksi kelas ini dengan baik, namun dengan keyakinan yang rendah. Ini mungkin karena kelas ini terlalu terwakili dalam himpunan data, jadi pertimbangkan untuk menyeimbangkan distribusi data Anda. |
Kurang Penting | Kurang Penting | Kelas ini ditangani dengan buruk oleh model di mana biasanya tidak diprediksi dan ketika diprediksi, tidak dengan keyakinan yang tinggi. |
Model klasifikasi teks kustom diperkirakan dapat mengalami negatif palsu dan positif palsu. Anda perlu mempertimbangkan bagaimana masing-masing akan mempengaruhi sistem secara keseluruhan, dan dengan hati-hati memikirkan skenario di mana model akan mengabaikan prediksi yang benar, dan mengenali prediksi yang salah. Bergantung pada skenario, baik presisi atau pengenalan dapat lebih cocok untuk mengevaluasi performa model Anda.
Misalnya, jika skenario Anda melibatkan pemrosesan tiket dukungan teknis, memprediksi kelas yang salah dapat menyebabkannya diteruskan ke departemen/tim yang salah. Dalam contoh ini, Anda harus mempertimbangkan untuk membuat sistem Anda lebih sensitif terhadap positif palsu, dan presisi akan menjadi metrik yang lebih relevan untuk evaluasi.
Sebagai contoh lain, jika skenario Anda melibatkan kategorisasi email sebagai "penting" atau "spam", prediksi yang salah dapat menyebabkan Anda melewatkan email yang berguna jika berlabel "spam ". Namun, jika email spam berlabel penting, Anda dapat mengabaikannya. Dalam contoh ini, Anda harus mempertimbangkan untuk membuat sistem Anda lebih sensitif terhadap negatif palsu, dan pengenalan akan menjadi metrik yang lebih relevan untuk evaluasi.
Jika Anda ingin mengoptimalkan untuk skenario tujuan umum atau ketika presisi dan pengenalan sama-sama penting, Anda dapat memanfaatkan F-measure. Skor evaluasi bersifat subjektif tergantung pada skenario dan kriteria penerimaan Anda. Tidak ada metrik absolut yang berfungsi untuk setiap skenario.
Panduan
Setelah berlatih model, Anda akan melihat beberapa panduan dan rekomendasi tentang cara meningkatkan model. Disarankan untuk memiliki model yang mencakup semua titik di bagian panduan.
Set pelatihan memiliki data yang cukup: Ketika jenis kelas memiliki kurang dari 15 instans berlabel dalam data pelatihan, itu dapat menyebabkan akurasi yang lebih rendah karena model tidak terlatih secara memadai pada kasus-kasus ini.
Semua jenis kelas ada dalam set pengujian: Ketika data pengujian tidak memiliki instans berlabel untuk jenis kelas, performa pengujian model mungkin menjadi kurang komprehensif karena skenario yang belum diuji.
Jenis kelas seimbang dalam set pelatihan dan pengujian: Ketika bias pengambilan sampel menyebabkan representasi frekuensi jenis kelas yang tidak akurat, hal ini dapat menyebabkan akurasi yang lebih rendah karena model yang mengharapkan jenis kelas terjadi terlalu sering atau terlalu sedikit.
Jenis kelas didistribusikan secara merata antara set pelatihan dan pengujian: Ketika campuran jenis kelas tidak cocok antara set pelatihan dan pengujian, hal ini dapat menyebabkan akurasi pengujian yang lebih rendah karena model yang dilatih secara berbeda dari cara pengujiannya.
Jenis kelas dalam set pelatihan jelas berbeda: Ketika data pelatihan mirip untuk beberapa jenis kelas, hal ini dapat menyebabkan akurasi yang lebih rendah karena jenis kelas mungkin sering salah diklasifikasikan satu sama lainnya.
Matriks kebingungan
Penting
Matriks kebingungan tidak tersedia untuk proyek klasifikasi multi-label. Matriks Confusion adalah matriks N x N yang digunakan untuk evaluasi performa model, di mana N adalah jumlah kelas. Matriks membandingkan label yang diharapkan dengan yang diprediksi oleh model. Hal ini memberikan pandangan holistik tentang seberapa baik performa model dan jenis kesalahan apa yang dibuatnya.
Anda dapat menggunakan matriks Confusion untuk mengidentifikasi kelas yang terlalu dekat satu sama lain dan sering keliru (ambiguitas). Dalam hal ini pertimbangkan untuk menggabungkan kelas-kelas ini bersama-sama. Jika tidak memungkinkan, pertimbangkan untuk memberi label lebih banyak dokumen dengan kedua kelas untuk membantu model membedakan keduanya.
Semua prediksi yang benar terletak di diagonal tabel, sehingga mudah untuk memeriksa tabel secara visual untuk kesalahan prediksi, karena akan diwakili oleh nilai di luar diagonal.
Anda dapat menghitung metrik evaluasi tingkat kelas dan tingkat model dari matriks konfusi:
- Nilai pada diagonal adalah nilai Positif Benar dari setiap kelas.
- Jumlah nilai dalam baris kelas (tidak termasuk diagonal) adalah positif palsu dari model.
- Jumlah nilai dalam kolom kelas (tidak termasuk diagonal) adalah Negatif Palsu dari model.
Demikian pula,
- Positif benar dari model tersebut adalah jumlah dari Benar-Benar Positif untuk semua kelas.
- Positif palsu dari model adalah jumlah dari positif palsu untuk semua kelas.
- Negatif Palsu model adalah jumlah negatif palsu untuk semua kelas.