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

Tambahkan komentar

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