Ingat dan presisi dalam klasifikasi


40

Saya membaca beberapa definisi mengingat dan presisi, meskipun setiap kali dalam konteks pengambilan informasi. Saya bertanya-tanya apakah seseorang dapat menjelaskan ini sedikit lebih banyak dalam konteks klasifikasi dan mungkin menggambarkan beberapa contoh. Katakanlah misalnya saya memiliki classifier biner yang memberi saya presisi 60% dan recall 95%, apakah ini classifier yang bagus?

Mungkin untuk sedikit membantu tujuan saya, apa klasifikasi terbaik menurut Anda? (dataset tidak seimbang. Kelas mayoritas memiliki dua kali jumlah contoh kelas minoritas)

Saya pribadi mengatakan 5 karena area di bawah kurva operator penerima.

(seperti yang Anda lihat di sini model 8 memiliki presisi rendah, daya ingat sangat tinggi, tetapi salah satu AUC_ROC terendah, apakah itu membuatnya menjadi model yang baik? atau yang buruk?)

masukkan deskripsi gambar di sini


edit:

Saya memiliki file excel dengan informasi lebih lanjut: https://www.dropbox.com/s/6hq7ew5qpztwbo8/comparissoninbalance.xlsx

Dalam dokumen ini area di bawah kurva operator penerima dapat ditemukan dan area di bawah kurva recall presisi. Bersama dengan plot.


6
Mengapa memilih negatif? Ini sepertinya pertanyaan yang menarik (tentu saja beberapa orang berpikir mungkin untuk menjawab).
Gala

Berapa banyak kasus uji yang terlibat dalam menghitung ukuran kinerja? Juga, jika Anda membandingkan beberapa pengklasifikasi pada set data yang sama, Anda dapat menggunakan desain berpasangan (ada beberapa pertanyaan & jawaban di sekitar CV yang membahas perbandingan pengklasifikasi).
cbeleites mendukung Monica

Saya punya 799 sampel (jika itu yang Anda maksud dengan test case). Setiap kali saya membagi data dalam 10 bagian. 1 bagian untuk menguji pengklasifikasi dan sisanya untuk melatih pengklasifikasi (Pengklasifikasi yang dibandingkan dilatih pada data yang sama).
Olivier_s_j

Apakah pengklasifikasi menghasilkan nilai biner, atau apakah mereka menghasilkan nilai nyata, dan kemudian menggunakan ambang batas untuk menjadikannya biner?
galath

Mereka menampilkan keluaran biner.
Olivier_s_j

Jawaban:


40

Apakah classifier itu "baik" benar-benar tergantung

  1. Apa lagi yang tersedia untuk masalah khusus Anda. Tentunya, Anda ingin classifier menjadi lebih baik daripada tebakan acak atau naif (mis. Mengklasifikasikan segala sesuatu sebagai milik kategori yang paling umum) tetapi beberapa hal lebih mudah untuk diklasifikasikan daripada yang lain.
  2. Biaya kesalahan yang berbeda (false alarm vs false negative) dan tarif dasar. Sangat penting untuk membedakan keduanya dan mencari konsekuensinya karena dimungkinkan untuk memiliki classifier dengan akurasi yang sangat tinggi (klasifikasi yang benar pada beberapa sampel uji) yang benar-benar tidak berguna dalam praktiknya (misalnya Anda mencoba mendeteksi penyakit langka atau perilaku nakal yang tidak biasa dan rencana untuk meluncurkan beberapa tindakan setelah deteksi; Pengujian skala besar membutuhkan biaya dan tindakan / perawatan perbaikan juga biasanya melibatkan risiko / biaya yang signifikan sehingga mempertimbangkan bahwa sebagian besar hit akan menjadi positif palsu, dari perspektif biaya / manfaat itu mungkin lebih baik tidak melakukan apa-apa).

Untuk memahami hubungan antara recall / presisi di satu sisi dan sensitivitas / spesifisitas di sisi lain, penting untuk kembali ke matriks kebingungan:

                      Condition: A             Not A

  Test says “A”       True positive (TP)   |   False positive (FP)
                      ----------------------------------
  Test says “Not A”   False negative (FN)  |    True negative (TN)

Recall adalah TP / (TP + FN) sedangkan presisi adalah TP / (TP + FP). Ini mencerminkan sifat masalah: Dalam pencarian informasi, Anda ingin mengidentifikasi sebanyak mungkin dokumen yang relevan (ingat) dan menghindari keharusan memilah sampah (presisi).

Menggunakan tabel yang sama, metrik klasifikasi tradisional adalah (1) sensitivitas didefinisikan sebagai TP / (TP + FN) dan (2) spesifisitas didefinisikan sebagai TN / (FP + TN). Jadi daya ingat dan sensitivitas hanya identik tetapi presisi dan spesifisitas didefinisikan secara berbeda (seperti daya ingat dan sensitivitas, spesifisitas didefinisikan sehubungan dengan total kolom sedangkan presisi mengacu pada total baris). Ketepatan juga kadang-kadang disebut "nilai prediksi positif" atau, jarang, "tingkat positif palsu" (tetapi lihat jawaban saya untuk Hubungan antara positif benar, positif salah, negatif palsu dan negatif sejati mengenai kebingungan seputar definisi positif palsu ini. menilai).

Menariknya, metrik pengambilan informasi tidak melibatkan hitungan "benar negatif". Ini masuk akal: Dalam pencarian informasi, Anda tidak peduli tentang mengklasifikasikan dengan benar contoh negatif per se , Anda hanya tidak ingin terlalu banyak dari mereka mencemari hasil Anda (lihat juga Mengapa tidak ingat memperhitungkan negatif sebenarnya? ).

Karena perbedaan ini, tidak mungkin untuk beralih dari spesifisitas ke presisi atau sebaliknya tanpa informasi tambahan, yaitu jumlah negatif asli atau, sebagai alternatif, proporsi keseluruhan kasus positif dan negatif. Namun, untuk kumpulan korpus / tes yang sama, spesifisitas yang lebih tinggi selalu berarti ketepatan yang lebih baik sehingga mereka terkait erat.

Dalam konteks pencarian informasi, tujuannya biasanya untuk mengidentifikasi sejumlah kecil kecocokan dari sejumlah besar dokumen. Karena asimetri ini, sebenarnya jauh lebih sulit untuk mendapatkan presisi yang baik daripada spesifisitas yang baik sambil menjaga sensitivitas / daya ingat konstan. Karena sebagian besar dokumen tidak relevan, Anda memiliki lebih banyak kesempatan untuk alarm palsu daripada positif sebenarnya dan alarm palsu ini dapat membanjiri hasil yang benar bahkan jika pengklasifikasi memiliki akurasi yang mengesankan pada set tes seimbang (ini sebenarnya apa yang terjadi dalam skenario I disebutkan dalam poin 2 saya di atas). Akibatnya, Anda benar-benar perlu mengoptimalkan presisi dan tidak hanya memastikan kekhususan yang layak karena bahkan tingkat yang tampak mengesankan seperti 99% atau lebih terkadang tidak cukup untuk menghindari banyak alarm palsu.

Biasanya ada trade-off antara sensitivitas dan spesifisitas (atau daya ingat dan presisi). Secara intuitif, jika Anda menggunakan jaring yang lebih luas, Anda akan mendeteksi dokumen / kasus positif yang lebih relevan (sensitivitas / penarikan yang lebih tinggi) tetapi Anda juga akan mendapatkan lebih banyak alarm palsu (spesifisitas yang lebih rendah dan presisi yang lebih rendah). Jika Anda mengklasifikasikan semua dalam kategori positif, Anda memiliki 100% recall / sensitivitas, presisi buruk, dan sebagian besar tidak berguna ("kebanyakan" karena jika Anda tidak memiliki informasi lain, sangat masuk akal untuk menganggap itu tidak akan hujan di gurun dan untuk bertindak sesuai jadi mungkin hasilnya tidak sia-sia, tentu saja, Anda tidak perlu model yang canggih untuk itu).

Mempertimbangkan semua ini, 60% presisi dan 95% recall tidak terdengar terlalu buruk tetapi, sekali lagi, ini benar-benar tergantung pada domain dan apa yang ingin Anda lakukan dengan classifier ini.


Beberapa informasi tambahan mengenai komentar / suntingan terbaru:

Sekali lagi, kinerja yang dapat Anda harapkan tergantung pada spesifiknya (dalam konteks ini ini akan menjadi hal-hal seperti set emosi yang hadir dalam set pelatihan, kualitas gambar / video, luminositas, oklusi, gerakan kepala, video akting atau spontan, tergantung pada orang atau model orang-independen, dll.) tetapi F1 lebih dari .7 terdengar bagus untuk jenis aplikasi ini bahkan jika model terbaik dapat melakukan lebih baik pada beberapa set data [lihat Valstar, MF, Mehu, M., Jiang, B., Pantic, M., & Scherer, K. (2012). Meta-analisis tantangan pengenalan ekspresi wajah pertama. Transaksi IEEE pada Sistem, Manusia, dan Sibernetika, Bagian B: Sibernetika, 42 (4), 966-979.]

Apakah model seperti itu berguna dalam praktik adalah pertanyaan yang sama sekali berbeda dan jelas tergantung pada aplikasi. Perhatikan bahwa "ekspresi" wajah itu sendiri adalah topik yang kompleks dan beralih dari rangkaian pelatihan yang khas (ekspresi yang diajukan) ke setiap situasi kehidupan nyata tidaklah mudah. Ini agak di luar topik di forum ini, tetapi ini akan memiliki konsekuensi serius untuk aplikasi praktis yang mungkin Anda renungkan.

Akhirnya, perbandingan head-to-head antara model adalah pertanyaan lain. Menurut saya angka yang Anda sajikan adalah tidak ada perbedaan dramatis antara model (jika Anda merujuk pada makalah yang saya kutip di atas, kisaran skor F1 untuk model terkenal di bidang ini jauh lebih luas). Dalam praktiknya, aspek teknis (kesederhanaan / ketersediaan perpustakaan standar, kecepatan berbagai teknik, dll.) Kemungkinan akan memutuskan model mana yang diterapkan, kecuali mungkin jika biaya / manfaat dan tingkat keseluruhan membuat Anda sangat menyukai presisi atau penarikan.


Klasifikasi saya mengklasifikasikan wajah menjadi emosi positif atau negatif. Saya menjalankan beberapa algoritma klasifikasi dengan 10 kali lipat validasi silang dan saya bahkan kadang-kadang mendapatkan 100% recall, meskipun presisi untuk semua pengklasifikasi hampir sama (sekitar 65%). Saya bekerja dengan dataset yang tidak seimbang (kelas mayoritas memiliki dua kali jumlah sampel dari kelas minoritas). Karena itu saya pikir ini mungkin berarti model saya tidak mempelajari polanya.
Olivier_s_j

1
@Gala: Apa perbedaan antara 'alarm palsu' dan 'false negative'? Apakah yang Anda maksud adalah 'alarm palsu' dan 'false positive'?
Matt O'Brien

@ MattO'Brien Alarm palsu adalah positif palsu (yaitu sistem mengatakan "Waspadalah!" Atau "Menemukan sesuatu!" Tetapi tidak ada dan tidak perlu bertindak, maka dari itu "alarm palsu"). Mungkin terminologinya agak membingungkan, saya akan mengulas jawabannya nanti.
Gala

@Ojtwist Jika positif memiliki probabilitas 67% sebelumnya, maka Anda bisa mendapatkan 100% penarikan kembali dan ~ 67% presisi dengan memprediksi semuanya sebagai positif.
Tandai

21

Dalam konteks klasifikasi biner, contohnya positif atau negatif.

  • Penarikan itu menjawab pertanyaan: "Diberikan contoh positif, akankah classifier mendeteksi itu?"
  • Ketepatan menjawab pertanyaan: "Mengingat prediksi positif dari pengklasifikasi, seberapa besar kemungkinannya benar?"

Jadi itu tergantung apakah fokusnya adalah pada contoh positif atau prediksi positif.

Orang bisa mengatakan "pada penarikan setidaknya 90%, pengklasifikasi dengan presisi tertinggi adalah 4." Tetapi jika yang penting adalah kualitas prediksi, di antara pengklasifikasi dengan ketepatan minimal 70%, yang dapat mencapai recall tertinggi adalah 6.


6

Bergerak dari prediksi terus menerus, seperti yang digunakan dalam menghitung area ROC (probabilitas konkordansi; c-index) ke aturan penilaian yang tidak terputus (akurasi klasifikasi pilihan paksa) menghasilkan semua jenis anomali dan akan menyesatkan analis untuk memilih prediktor yang salah dan / atau model yang salah. Adalah jauh lebih baik untuk membuat keputusan berdasarkan aturan penilaian yang tepat (misalnya, aturan log-likelihood / deviance / logarithmic probabilitas; Skor Brier (skor akurasi probabilitas kuadrat)). Di antara banyak keuntungan dari pendekatan semacam itu adalah identifikasi pengamatan yang klasifikasi berbahaya bagi kesehatan Anda karena ketidakpastian yang disebabkan oleh probabilitas mid-range.


Bukankah aturan pemberian skor ini hanya berlaku ketika model memberikan keluaran probabilistik?
Olivier_s_j

3
Anda menyebutkan ROC AUC yang membutuhkan keluaran probabilistik (atau sesuatu yang merupakan fungsi monoton yang sama). Metode prediksi terbaik memiliki probabilitas di bawah tenda.
Frank Harrell

DxyY

Masalah dengan menggunakan ROC dan langkah-langkah akurasi klasifikasi "pilihan bebas" adalah bahwa mereka tidak benar-benar berarti apa pun dalam konteks aplikasi di mana seseorang harus benar-benar memilih ambang batas sesuai dengan kasus bisnis. Sebagai contoh dalam produk pendeteksi kejahatan keuangan untuk investasi perbankan suatu bisnis mungkin hanya memiliki sumber daya manusia untuk menyelidiki 100 klasifikasi per tahun, ini menginduksi ambang batas tetap yang harus dioptimalkan. Gini, area ROC, dll tidak akan memberi tahu Anda seberapa bagus model ini di ambang ini. ...
samthebest

2
Sangat masuk akal untuk memiliki batasan anggaran pada jumlah investigasi. Ini tidak memerlukan ambang, tidak ada optimasi baru, tidak ada klasifikasi, dan tidak ada analisis ROC. Satu hanya memilah pengamatan dalam urutan menurun dari risiko yang diprediksi dan memilih 100 pengamatan pertama untuk diselidiki. Ini terkait dengan kurva angkat yang digunakan dalam pemasaran.
Frank Harrell

5

Baik ketepatan maupun daya ingat tidak menceritakan keseluruhan cerita, dan sulit untuk membandingkan prediktor dengan, katakanlah, 90% daya ingat dan 60% presisi dengan prediktor dengan, katakanlah, ketepatan 85% dan daya ingat 65% - kecuali, tentu saja, Anda memiliki biaya / manfaat yang terkait dengan masing-masing 4 sel (tp / fp / tn / fn) dalam matriks kebingungan .

Cara yang menarik untuk mendapatkan angka tunggal ( kecakapan , alias koefisien ketidakpastian ) yang menggambarkan kinerja classifier adalah dengan menggunakan teori informasi :

proficiency = I(predicted,actual) / H(actual)

yaitu, itu memberi tahu Anda apa sebagian dari informasi yang ada dalam data aktual dipulihkan oleh pengklasifikasi. Ini adalah 0 jika salah satu presisi atau recall adalah 0 dan 100% jika (dan hanya jika) baik presisi dan recall 100%. Dalam hal ini mirip dengan skor F1 , tetapi kemahiran memiliki makna informasi-teoretis yang jelas sementara F1 hanya rata-rata harmonik dari dua angka dengan makna.

Anda dapat menemukan kertas, presentasi, dan kode (Python) untuk menghitung metrik Kecakapan di sini: https://github.com/Magnetic/proficiency-metric


menarik! dapatkah Anda memberi kami contoh cara menghitung kemampuan? karena rumusnya terlihat aneh bagiku.
kesepian


Komentar bukan untuk diskusi panjang; percakapan ini telah dipindahkan ke obrolan .
Scortchi
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.