Cara menghitung skor f1 dengan python (termasuk contoh)


Saat menggunakan model klasifikasi dalam pembelajaran mesin, metrik umum yang kami gunakan untuk mengevaluasi kualitas model adalah skor F1 .

Metrik ini dihitung sebagai berikut:

Skor F1 = 2 * (Presisi * Recall) / (Presisi + Recall)

Emas:

  • Akurasi : Benar prediksi positif relatif terhadap total prediksi positif
  • Pengingat : Mengoreksi prediksi positif terhadap total positif aktual

Misalnya, kita 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:

Berikut cara menghitung skor F1 model:

Akurasi = Positif Benar / (Positif Benar + Positif Palsu) = 120/ (120+70) = 0,63157

Penarikan kembali = Benar Positif / (Positif Benar + Negatif Palsu) = 120 / (120+40) = 0,75

Skor F1 = 2 * (.63157 * .75) / (.63157 + .75) = . 6857

Contoh berikut menunjukkan cara menghitung skor F1 untuk model persis ini dengan Python.

Contoh: Menghitung skor F1 dengan Python

Kode berikut menunjukkan cara menggunakan fungsi f1_score() paket sklearn dengan Python untuk menghitung skor F1 untuk array nilai prediksi dan nilai aktual tertentu.

 import numpy as np
from sklearn. metrics import f1_score

#define array of actual classes
actual = np. repeat ([1, 0], repeats=[160, 240])

#define array of predicted classes
pred = np. repeat ([1, 0, 1, 0], repeats=[120, 40, 70, 170])

#calculate F1 score
f1_score(actual, pred)

0.6857142857142857

Kita melihat bahwa skor F1 adalah 0,6857 . Ini cocok dengan nilai yang kami hitung secara manual sebelumnya.

Catatan : Anda dapat menemukan dokumentasi lengkap untuk fungsi f1_score() di sini .

Catatan tentang penggunaan skor F1

Jika Anda menggunakan skor F1 untuk membandingkan beberapa model, model dengan skor F1 tertinggi mewakili model yang paling mampu mengklasifikasikan observasi ke dalam kelas.

Misalnya, jika Anda memasukkan model regresi logistik lain ke dalam data dan model tersebut memiliki skor F1 sebesar 0,75, model tersebut akan dianggap lebih baik karena memiliki skor F1 yang lebih tinggi.

Sumber daya tambahan

Cara Melakukan Regresi Logistik dengan Python
Cara Membuat Matriks Kebingungan dengan Python
Cara menghitung presisi seimbang dengan Python
Skor F1 vs Akurasi: Mana yang Harus Anda Gunakan?

Tambahkan komentar

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