Cara menghitung koefisien korelasi matthews dengan python
Koefisien Korelasi Matthews (MCC) adalah metrik yang dapat kita gunakan untuk mengevaluasi kinerja model klasifikasi .
Ini dihitung sebagai berikut:
PKS = (TP*TN – FP*FN) / √ (TP+FP)(TP+FN)(TN+FP)(TN+FN)
Emas:
- TP : Jumlah positif sebenarnya
- TN : Jumlah negatif sebenarnya
- FP : Jumlah positif palsu
- FN : Jumlah negatif palsu
Metrik ini sangat berguna ketika kedua kelas tidak seimbang, yaitu, satu kelas tampil lebih banyak dibandingkan kelas lainnya.
Nilai MCC antara -1 dan 1 dimana:
- -1 menunjukkan ketidaksepakatan total antara kelas yang diprediksi dan kelas sebenarnya
- 0 berarti tebakan yang benar-benar acak
- 1 menunjukkan kesesuaian penuh antara kelas prediksi dan kelas aktual
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 MCC model, kita dapat menggunakan rumus berikut:
- PKS = (TP*TN – FP*FN) / √ (TP+FP)(TP+FN)(TN+FP)(TN+FN)
- PKS = (15*375-5*5) / √ (15+5)(15+5)(375+5)(375+5)
- PKS = 0,7368
Koefisien korelasi Matthews ternyata 0,7368 . Nilai ini mendekati satu, yang menunjukkan bahwa model tersebut mampu memprediksi dengan baik apakah pemain akan direkrut atau tidak.
Contoh berikut menunjukkan cara menghitung PKS untuk skenario spesifik ini menggunakan fungsi matthews_corrcoef() dari pustaka sklearn dengan Python.
Contoh: Menghitung Koefisien Korelasi Matthews dengan Python
Kode berikut menunjukkan cara mendefinisikan array kelas prediksi dan array kelas aktual, lalu menghitung koefisien korelasi Matthews suatu model dengan Python:
import numpy as np from sklearn. metrics import matthews_corrcoef #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 Matthews correlation coefficient matthews_corrcoef(actual, pred) 0.7368421052631579
PKSnya adalah 0,7368 . Ini cocok dengan nilai yang kami hitung secara manual sebelumnya.
Catatan : Anda dapat menemukan dokumentasi lengkap untuk fungsi matthews_corrcoef() di sini .
Sumber daya tambahan
Tutorial berikut menjelaskan cara menghitung metrik umum lainnya untuk model klasifikasi dengan Python:
Pengantar Regresi Logistik dengan Python
Cara menghitung skor F1 dengan Python
Cara menghitung presisi seimbang dengan Python