Cara menghitung koefisien korelasi matthews di r
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 MCC untuk skenario khusus ini menggunakan fungsi mcc() dari paket mltools di R.
Contoh: Menghitung Koefisien Korelasi Matthews pada R
Kode berikut menunjukkan cara mendefinisikan vektor kelas prediksi dan vektor kelas aktual, lalu menghitung koefisien korelasi Matthews menggunakan fungsi mcc() dari paket mltools :
library (mltools) #define vector of actual classes actual <- rep (c(1, 0), times =c(20, 380)) #define vector of predicted classes preds <- rep (c(1, 0, 1, 0), times =c(15, 5, 5, 375)) #calculate Matthews correlation coefficient mcc(preds, actual) [1] 0.7368421
Koefisien korelasi Matthews sebesar 0,7368 .
Ini cocok dengan nilai yang kami hitung secara manual sebelumnya.
Jika Anda ingin menghitung koefisien korelasi Matthews untuk matriks konfusi, Anda dapat menggunakan argumen konfusiM sebagai berikut:
library (mltools) #create confusion matrix conf_matrix <- matrix(c(15, 5, 5, 375), nrow= 2 ) #view confusion matrix conf_matrix [,1] [,2] [1,] 15 5 [2,] 5,375 #calculate Matthews correlation coefficient for confusion matrix mcc(confusionM = conf_matrix) [1] 0.7368421
Sekali lagi, koefisien korelasi Matthews adalah 0,7368.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:
Bagaimana melakukan regresi logistik di R
Cara memplot kurva ROC menggunakan ggplot2
Cara menghitung skor F1 di R