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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *