Matriks Kebingungan di R: Cara Membuat & Menghitung [Dengan Contoh]

Diterbitkan: 2021-03-09

R telah muncul sebagai salah satu paket perangkat lunak terkemuka untuk data dan analisis statistik saat ini. Ini adalah lingkungan sumber terbuka yang disukai karena kemampuan komputasi, visual, dan grafisnya yang kuat. Jika Anda seorang mahasiswa teknik, profesional analitik bisnis, atau seseorang yang sangat tertarik dengan ilmu data, mempelajari bahasa pemrograman R dapat membantu Anda dalam banyak hal.

Pada artikel ini, kami akan membahas beberapa konsep dasar pembelajaran mesin melalui rangkaian terintegrasi ini. Lebih khusus lagi, kita akan membahas cara menghitung matriks konfusi pada R .

Tetapi sebelum kita beralih ke teknis, mari kita pahami dulu mengapa kita memilih R untuk tujuan ini. Karena manfaat berikut, bahasa pemrograman ini semakin populer di kalangan ahli statistik dan ilmuwan data di seluruh dunia:

  • Dapat direproduksi: Dengan R, Anda dapat mereproduksi laporan dan menulis kode yang dapat digunakan kembali
  • Dapat dibagikan: Ini memiliki kurva belajar yang rendah, yang membuka jalan untuk kolaborasi
  • Dapat diulang: Siapa pun tidak hanya dapat memahami apa yang Anda lakukan tetapi juga mengulangi langkah-langkah untuk membuat fungsi yang sama di mesin mereka

Penggunaan bahasa R di bidang pembelajaran mesin juga meningkat karena alasan di atas. Anda tidak perlu menjadi programmer ahli untuk memahami sintaksnya. Jadi, kami memperkenalkan beberapa hal mendasar kepada Anda di bagian selanjutnya.

Daftar isi

Apa itu Matriks Kebingungan?

Sebuah matriks kebingungan, atau matriks kesalahan, berkaitan dengan masalah klasifikasi standar dalam statistik. Ini terdiri dari tata letak tabel khusus yang memfasilitasi analis data untuk memvisualisasikan bagaimana kinerja suatu algoritma. Ini terutama berlaku untuk algoritma pembelajaran yang diawasi.

Untuk menguraikan lebih lanjut, matriks konfusi mengikuti format N x N, di mana N mengacu pada nomor ke kelas target. Anda dapat menggunakan tabel atau matriks ini untuk mengevaluasi kinerja model klasifikasi. Hal ini dimungkinkan karena matriks membandingkan nilai prediksi dengan nilai target.

Singkatnya, Anda dapat menjelaskan bagaimana model pembelajaran mesin Anda, pengklasifikasi, dalam hal ini, bekerja pada satu set data pengujian (yang Anda sudah memiliki nilai sebenarnya).

Untuk memahami metode ini, Anda harus terbiasa dengan istilah-istilah berikut:

  • True Positive (TP): Nilai positif diprediksi dengan benar
  • Positif Palsu (FP): Nilai negatif salah diprediksi sebagai positif
  • Negatif Palsu (FN): Nilai positif diprediksi sebagai negatif
  • True Negative (TN): Nilai negatif diprediksi sebagai nilai negatif aktual

Mari kita lihat beberapa contoh untuk mendapatkan kejelasan lebih lanjut.

Contoh Matriks Kebingungan

  • Benar Positif

Ketika Anda telah meramalkan India untuk memenangkan Piala Dunia Kriket, dan itu menang.

  • Positif Palsu

Ketika Anda mengharapkan India menang, tetapi ternyata kalah.

  • Negatif Palsu

Ketika Anda telah meramalkan bahwa Prancis tidak akan menang, tetapi menang.

  • Benar Negatif

Ketika Anda memproyeksikan bahwa India akan 'tidak memenangkan' piala dunia Kriket dan kehilangan seri dalam kehidupan nyata.

Saat kita melangkah lebih jauh, Anda harus ingat bahwa semua nilai prediksi dijelaskan sebagai: Positif, Negatif, Benar, dan Salah.

Bagaimana Menghitung Matriks Kebingungan dalam R?

Pertimbangkan skenario di mana Anda memiliki daftar nilai yang diharapkan atau diketahui dan daftar prediksi lain dari model pembelajaran mesin Anda. Di R, Anda dapat menghitung matriks konfusi menggunakan fungsi sederhana dari pustaka tanda sisipan: confusionMatrix(). Itu tidak hanya dapat menghitung matriks tetapi juga mengembalikan laporan terperinci untuk hasilnya.

Anda dapat mengikuti langkah-langkah yang disebutkan di bawah ini untuk mempraktikkan proses penambangan data:

  • Uji dataset yang diberikan dengan hasil yang diharapkan.
  • Prediksi baris set data pengujian Anda.
  • Tentukan jumlah total prediksi yang benar dan salah untuk setiap kelas.

Setelah Anda melakukan ini, Anda akan menemukan nomor yang diatur dengan cara berikut:

  • Setiap baris matriks akan sesuai dengan kelas yang diprediksi dan setiap kolom akan dikaitkan dengan kelas yang sebenarnya.
  • Jumlah total klasifikasi yang benar dan salah tercermin dalam tabel, bersama dengan jumlah untuk setiap kelas.

Misalkan Anda memiliki 10 orang yang dibagi menjadi dua kelas, pria dan wanita. Anda harus menyusun informasi tersebut sebagai matriks konfusi ketika Anda mengetahui bahwa 2 laki-laki diklasifikasikan sebagai perempuan, sedangkan 1 perempuan diklasifikasikan sebagai laki-laki.

wanita pria

wanita 3 1

pria 2 4

Di sini, nilai yang benar diatur dalam garis diagonal dari kiri atas ke kanan bawah matriks (3 + 4). Hasilnya memberitahu kita bahwa ada lebih banyak kesalahan dengan memprediksi anggota laki-laki sebagai perempuan daripada memprediksi perempuan sebagai laki- laki. Algoritma membuat 7 prediksi yang benar dari 10 kemungkinan hasil, yang berarti memiliki akurasi 70%.

Panduan Membuat dan Menghitung Matriks C onfusion dalam R

Seperti yang Anda amati, fungsi matriks konfusi adalah alat yang berguna untuk memeriksa kemungkinan hasil prediksi Anda. Jadi, sebelum Anda mulai membuat matriks, Anda harus terlebih dahulu "memotong" nilai probabilitas Anda. Dengan kata lain, Anda perlu menandai ambang batas untuk mengubah probabilitas Anda menjadi prediksi kelas.

Untuk melakukan ini, Anda dapat menggunakan fungsi ifelse(). Sebagai contoh:

prediksi_kelas <-

ifelse (prediksi_probabilitas > 0,50,

“kelas_positif”,

“kelas_negatif”

)

Anda juga dapat menulis fungsi table() untuk membuat tabel kontingensi di basis R. Namun, fungsi confusionMatrix() diketahui menghasilkan statistik tambahan yang berharga.

Langkah selanjutnya adalah menghitung matriks kebingungan dan statistik terkait lainnya. Di sini, Anda akan membutuhkan hasil yang diprediksi dan aktual. Ambil, misalnya, pernyataan yang diberikan di bawah ini:

confusionMatrix(diprediksi, aktual)

Sekarang, Anda harus melanjutkan dengan mengubah prediksi numerik Anda menjadi vektor prediksi kelas, sat p_class. Misalkan Anda ingin menggunakan cutoff 0,50.

Juga, saat membuat prediksi, jangan lupa untuk memberi nama kelas positif dan negatif dengan indikator terpisah. Mari kita sebut kelas positif "T" dan beri nama yang negatif sebagai "L". Hal ini dilakukan untuk mencocokkan kelas dengan data asli.

Sekarang setelah Anda memiliki p_class dan nilai aktual dalam kumpulan data pengujian, Anda dapat mulai membuat matriks kebingungan, dengan memanggil fungsi confusionMatrix().

Atau, Anda mungkin ingin memastikan keakuratan model penambangan data Anda. Dalam kasus seperti itu, disarankan untuk menggunakan ambang batas 0,10, bukan 0,90. setelah itu, Anda dapat melanjutkan dengan langkah yang sama seperti yang Anda lakukan pada latihan sebelumnya.

Dengan kelas prediksi baru, Anda dapat mengulangi panggilan ini:

pred <- ifelse(probabilitas > ambang batas, “T”, “L”)

Terakhir, Anda dapat menggunakan fungsi confusionMatrix() di tanda sisipan:

confusionMatrix(diprediksi, aktual)

Dengan ini, kami menyimpulkan tutorial tentang fungsi matriks kebingungan untuk pembelajaran mesin di R. Semoga bermanfaat!

Kesimpulan

Jika Anda penasaran untuk belajar tentang R, ilmu data, lihat Diploma PG kami dalam Ilmu Data yang dibuat untuk para profesional yang bekerja dan menawarkan 10+ studi kasus & proyek, lokakarya praktis, bimbingan dengan pakar industri, 1-on- 1 dengan mentor industri, 400+ jam pembelajaran dan bantuan pekerjaan dengan perusahaan-perusahaan top.

Apa perlunya membuat matriks konfusi?

Alasan berikut memperkenalkan kita pada manfaat memiliki matriks konfusi dan bagaimana matriks tersebut menangani masalah kinerja.
1. Matriks kebingungan diperlukan untuk menghilangkan masalah dengan akurasi klasifikasi. Rasio klasifikasi sering menyebabkan beberapa masalah dengan menyembunyikan detail model yang diperlukan.
2. Confusion matrix memberikan wawasan tentang prediksi, dan jenis kesalahan yang dibuat dalam model klasifikasi. Prediksi yang benar dan salah disajikan secara ringkas.
3. Kesalahan dan jenisnya diklasifikasikan untuk memberi Anda pemahaman tentang kinerja model Anda.

Bagaimana cara menghitung matriks kebingungan di R?

Matriks kebingungan dalam R dapat dihitung dengan menggunakan fungsi "confusionMatrix()" dari perpustakaan tanda sisipan. Fungsi ini tidak hanya menghitung matriks tetapi juga mengembalikan laporan detail matriks. Anda harus mengikuti beberapa langkah untuk menghitung matriks kebingungan Anda.
1. Uji kumpulan data Anda.
2. Prediksi jumlah total barisnya.
3. Prediksi total prediksi benar dan salah untuk setiap kelas.
Setelah Anda menambang data Anda, Anda akan mendapatkan nomor yang diatur dalam baris. Baris akan terhubung ke kelas yang diprediksi sedangkan kolom akan terhubung ke kelas yang sebenarnya. Nilai yang benar akan berada dalam garis diagonal. Tambahkan semua nilai dan Anda akan mendapatkan persentase akurasi matriks Anda.

Bagaimana mengukur kinerja dalam matriks konfusi?

Anda dapat menghitung tingkat akurasi model dengan menggunakan matriks konfusi 2x2. Rumus berikut akan memberi Anda tingkat keberhasilan atau tingkat akurasi:
Akurasi = (TP+TN)/(TP+TN+FP+FN)
Dimana, TP = True Positive ,TN = True Negative,FP = False Positive, FN = False Negative
Tingkat kesalahan model Anda juga dapat dihitung dengan rumus penghitungan tingkat yaitu:
Akurasi = (TP+TN)/(TP+TN+FP+FN) = 1-Akurasi
Konsep tingkat kesalahan sangat sederhana. Misalkan model Anda memiliki tingkat akurasi 80% maka tingkat kesalahan model Anda adalah 20%.