Area di bawah kurva ROC vs akurasi keseluruhan

29

Saya sedikit bingung tentang Area Under Curve (AUC) dari ROC dan akurasi keseluruhan.

  1. Apakah AUC sebanding dengan akurasi keseluruhan? Dengan kata lain, ketika kita memiliki akurasi keseluruhan yang lebih besar apakah kita akan mendapatkan AUC yang lebih besar? Atau apakah menurut definisi mereka berkorelasi positif?

  2. Jika keduanya berkorelasi positif, mengapa kita repot-repot melaporkan keduanya di beberapa publikasi?

  3. Dalam kasus nyata, saya melakukan beberapa tugas klasifikasi dan mendapatkan hasil sebagai berikut: classifier A mendapat akurasi 85% dan AUC 0,98 dan classifier B mendapat akurasi 93% dan AUC 0,92. Pertanyaannya adalah, klasifikasi mana yang lebih baik? Atau mungkinkah mendapatkan hasil yang serupa seperti ini (maksud saya mungkin ada bug dalam implementasi saya)?

Samo Jerom
sumber
1
Saya menemukan makalah yang mungkin menarik bagi sebagian dari Anda. google.co.uk/...
Samo Jerom
Bukankah AUC seharusnya kurang dari akurasi keseluruhan karena kami menghitung tingkat positif palsu dalam ukuran AUC sementara kami tidak dalam akurasi ???
Ali Sultan
ROC AUC bermanfaat ketika kelas memiliki ukuran yang berbeda. Jika 99% objek positif, akurasi 99% dapat diperoleh dengan pengambilan sampel acak. Maka nilai AOC ROC akan jauh lebih bermakna.
Anony-Mousse

Jawaban:

26

AUC (berdasarkan ROC) dan akurasi keseluruhan tampaknya bukan konsep yang sama.

Akurasi keseluruhan didasarkan pada satu cutpoint spesifik, sementara ROC mencoba semua cutpoint dan memplot sensitivitas dan spesifisitas. Jadi ketika kita membandingkan akurasi keseluruhan, kita membandingkan akurasi berdasarkan beberapa cutpoint. Akurasi keseluruhan bervariasi dari titik potong yang berbeda.

Vincent
sumber
2
Terima kasih banyak atas balasan Anda! Saya mengerti bahwa akurasi keseluruhan diperoleh dari titik potong tertentu (atau nilai ambang batas). Namun, ada satu titik potong terbaik, yaitu titik terdekat dengan sudut kiri atas. Sebagai contoh, akurasi keseluruhan saya dihitung dengan menggunakan cut-off point terbaik ini, dan AUC adalah untuk semua cut-point yang berbeda. Lalu bagaimana mengartikan akurasi ini dan AUC? Sebagai contoh, kinerja dari dua pengklasifikasi yang saya sebutkan di atas.
Samo Jerom
3
Oh begitu. Anda membandingkan akurasi keseluruhan dan AUC terbaik. Namun konsep mereka masih berbeda lagi. AUC adalah P (diprediksi TRUE | actual TRUE) vs P (FALSE | FALSE), sedangkan akurasi keseluruhan adalah P = P (BENAR | BENAR) * P (BENAR aktual) + P (SALAH | FALSE) * P ( SALAH sebenarnya). Jadi ini tergantung pada proporsi nilai sebenarnya pada set data Anda sangat banyak. Dalam praktiknya, tampaknya akurasi keseluruhan terbaik biasanya dicapai ketika cutpoint dekat P (sebenarnya BENAR).
Vincent
Jadi AUC dan akurasi keseluruhan terbaik mungkin tidak konsisten, tergantung pada proporsi nilai sebenarnya dari kumpulan data Anda. Dalam kasus Anda, tampaknya salah satu pengklasifikasi lebih fokus pada sensitivitas sedangkan yang lain pada spesifisitas. Dan pada set data Anda saat ini, P (BENAR) tidak 50%. Jadi sensitivitas dan spesifisitas berkontribusi pada akurasi keseluruhan dengan bobot berbeda. Dalam praktiknya, ROC dapat memberi kami lebih banyak informasi, dan kami ingin memilih kasus per kasus. Sebagai contoh, pengklasifikasi spam mungkin lebih fokus pada P (bukan spam | bukan spam) untuk mencegah email yang hilang penting
Vincent
Terima kasih atas jawaban anda. Jauh lebih jelas sekarang. Tetapi jika seseorang memiliki lebih banyak ingin membahas silakan posting di sini.
Samo Jerom
27

Sementara dua ukuran statistik cenderung berkorelasi, mereka mengukur kualitas yang berbeda dari pengklasifikasi.

AUROC

Area di bawah kurva (AUC) sama dengan probabilitas bahwa classifier akan memberi peringkat instance positif yang dipilih secara acak lebih tinggi daripada contoh negatif yang dipilih secara acak. Ini mengukur keterampilan pengklasifikasi dalam menentukan peringkat serangkaian pola sesuai dengan tingkat di mana mereka termasuk dalam kelas positif, tetapi tanpa benar-benar menetapkan pola ke kelas.

Akurasi keseluruhan juga tergantung pada kemampuan classifier untuk menentukan peringkat pola, tetapi juga pada kemampuannya untuk memilih ambang batas dalam peringkat yang digunakan untuk menetapkan pola ke kelas positif jika di atas ambang batas dan ke kelas negatif jika di bawah.

Dengan demikian, pengklasifikasi dengan statistik AUROC yang lebih tinggi (semua hal dianggap sama) cenderung juga memiliki akurasi keseluruhan yang lebih tinggi karena peringkat pola (yang diukur oleh AUROC) bermanfaat bagi AUROC dan akurasi keseluruhan. Namun, jika satu classifier memberi peringkat pola dengan baik, tetapi memilih ambang batas dengan buruk, ia dapat memiliki AUROC tinggi tetapi akurasi keseluruhannya buruk.

Penggunaan Praktis

Dalam praktiknya, saya suka mengumpulkan akurasi keseluruhan, AUROC dan jika classifier memperkirakan kemungkinan keanggotaan kelas, cross-entropy atau informasi prediktif. Lalu saya memiliki metrik yang mengukur kemampuan mentahnya untuk melakukan klasifikasi keras (dengan asumsi kesalahan klasifikasi positif palsu dan negatif palsu negatif adalah sama dan frekuensi kelas dalam sampel sama dengan yang digunakan dalam operasional - asumsi besar!), metrik yang mengukur kemampuan menentukan peringkat pola dan metrik yang mengukur seberapa baik peringkat dikalibrasi sebagai suatu probabilitas.

Untuk banyak tugas, biaya kesalahan klasifikasi operasional tidak diketahui atau variabel, atau frekuensi kelas operasional berbeda dengan yang ada dalam sampel pelatihan atau variabel. Dalam hal itu, akurasi keseluruhan sering kali tidak berarti dan AUROC adalah indikator kinerja yang lebih baik dan idealnya kami menginginkan classifier yang menghasilkan probabilitas yang terkalibrasi dengan baik, sehingga kami dapat mengkompensasi masalah ini dalam penggunaan operasional. Pada dasarnya metrik mana yang penting tergantung pada masalah yang kami coba selesaikan.

Dikran Marsupial
sumber
Dikran, apakah Anda memiliki referensi untuk paragraf pertama Anda?
Bunder
@Bunder tidak secara langsung, AUROC adalah probabilitas bahwa pola + ve yang dipilih secara acak akan diberi peringkat lebih tinggi daripada pola -ve yang dipilih secara acak ( en.wikipedia.org/wiki/… ) dan karenanya merupakan ukuran kualitas peringkat , seperti yang kita inginkan probabilitas itu setinggi mungkin.
Dikran Marsupial
5

Apakah AUC benar-benar metrik yang sangat berguna?

Saya akan mengatakan biaya yang diharapkan adalah ukuran yang lebih tepat.

Maka Anda akan memiliki biaya A untuk semua Positif Palsu dan biaya B untuk semua Negatif Palsu. Mungkin dengan mudah bahwa kelas lain relatif lebih mahal daripada yang lain. Tentu saja jika Anda memiliki biaya untuk klasifikasi palsu di berbagai sub-kelompok maka itu akan menjadi metrik yang bahkan lebih kuat.

Dengan memplot cut-off pada sumbu x dan biaya yang diharapkan pada sumbu y maka Anda dapat melihat titik cut-off yang meminimalkan biaya yang diharapkan.

Secara formal Anda memiliki fungsi kerugian Kerugian (cut-off | data, biaya) yang Anda coba untuk meminimalkan.

Analis
sumber
3
Biaya yang diharapkan hanya dapat dievaluasi jika Anda mengetahui biaya false-positive dan false-negative, yang tidak diperlukan untuk perhitungan AUC, yang merupakan statistik yang baik untuk digunakan jika biaya tidak diketahui atau variabel.
Dikran Marsupial
4

Seperti semua jawaban telah diposting: ROCdan accuracymerupakan dua konsep mendasar yang berbeda.

Secara umum, ROCmenggambarkan kekuatan diskriminatif classifier independen dari distribusi kelas dan biaya kesalahan prediksi yang tidak sama (false positive dan false negative cost).

Metric like accuracydihitung berdasarkan distribusi kelas test datasetatau cross-validation, tetapi rasio ini dapat berubah ketika Anda menerapkan classifier ke data kehidupan nyata, karena distribusi kelas yang mendasarinya telah diubah atau tidak diketahui. Di sisi lain, TP ratedan FP rateyang digunakan untuk membangun AUCtidak akan terpengaruh oleh pergeseran distribusi kelas.

Ling Ma
sumber