Cara menghitung presisi seimbang dengan python menggunakan sklearn
Akurasi seimbang adalah metrik yang dapat kita gunakan untuk mengevaluasi kinerja model klasifikasi .
Ini dihitung sebagai berikut:
Akurasi Seimbang = (Sensitivitas + Spesifisitas) / 2
Emas:
- Sensitivitas : “tingkat positif sebenarnya” – persentase kasus positif yang dapat dideteksi oleh model.
- Kekhususan : “tingkat negatif sebenarnya” – persentase kasus negatif yang dapat dideteksi oleh model.
Metrik ini sangat berguna ketika kedua kelas tidak seimbang, yaitu, satu kelas tampil lebih banyak dibandingkan kelas lainnya.
Misalnya, seorang analis olahraga menggunakan model regresi logistik untuk memprediksi apakah 400 pemain bola basket perguruan tinggi yang berbeda akan direkrut ke NBA atau tidak.
Matriks konfusi berikut merangkum prediksi yang dibuat oleh model:
Untuk menghitung akurasi seimbang model, pertama-tama kita akan menghitung sensitivitas dan spesifisitasnya:
- Sensitivitas : “Tingkat positif sebenarnya” = 15 / (15 + 5) = 0,75
- Kekhususan : “Tingkat negatif sebenarnya” = 375 / (375 + 5) = 0,9868
Kami kemudian dapat menghitung presisi seimbang sebagai berikut:
- Akurasi Seimbang = (Sensitivitas + Spesifisitas) / 2
- Akurasi seimbang = (0,75 + 9868) / 2
- Akurasi seimbang = 0,8684
Akurasi seimbang model tersebut ternyata 0,8684 .
Contoh berikut menunjukkan cara menghitung akurasi seimbang untuk skenario spesifik ini menggunakan fungsi Balanced_accuracy_score() dari pustaka sklearn dengan Python.
Contoh: Menghitung Presisi Seimbang dengan Python
Kode berikut menunjukkan cara mendefinisikan array kelas prediksi dan array kelas aktual, lalu menghitung akurasi seimbang model dengan Python:
import numpy as np from sklearn. metrics import balanced_accuracy_score #define array of actual classes actual = np. repeat ([1, 0], repeats=[20, 380]) #define array of predicted classes pred = np. repeat ([1, 0, 1, 0], repeats=[15, 5, 5, 375]) #calculate balanced accuracy score balanced_accuracy_score(actual, pred) 0.868421052631579
Presisi seimbangnya adalah 0,8684 . Ini cocok dengan nilai yang kami hitung secara manual sebelumnya.
Catatan : Anda dapat menemukan dokumentasi lengkap untuk fungsi Balanced_accuracy_score() di sini .
Sumber daya tambahan
Pengantar Akurasi Seimbang
Cara Melakukan Regresi Logistik dengan Python
Cara menghitung skor F1 dengan Python