เปรียบเทียบตัวแยกประเภทตาม AUROC หรือความแม่นยำ


11

ฉันมีปัญหาการจำแนกเลขฐานสองและฉันได้ทดสอบตัวแยกประเภทที่แตกต่างกัน: ฉันต้องการเปรียบเทียบตัวแยกประเภท ข้อใดเป็นค่าวัด AUC หรือความแม่นยำที่ดีกว่า และทำไม?

Raondom Forest: AUC: 0.828  Accuracy: 79.6667 %
           SVM: AUC: 0.542  Accuracy: 85.6667 %

คำตอบ:


13

สัดส่วนที่จำแนกอย่างถูกต้องนั้นเป็นกฎการให้คะแนนที่ไม่เหมาะสมเช่นมันถูกปรับให้เหมาะสมโดยโมเดลปลอม ฉันจะใช้กฎการให้คะแนนที่เหมาะสมเป็นกำลังสองที่รู้จักกันในชื่อคะแนน Brier หรือความน่าจะเป็นที่สอดคล้องกัน (พื้นที่ภายใต้เส้นโค้ง ROC ในกรณีไบนารี ) ป่าสุ่มทำงานได้ดีกว่า SVM ในกรณีของคุณY


ถ้าสำหรับหัวเรื่องในตัวอย่างของคุณคือผลไบนารีที่สังเกตได้และคือความน่าจะเป็นที่คาดการณ์ของ '1' ดังนั้นคะแนน Brier คือ (ถ้าฉันจำได้) 2 เนื่องจาก OP มีปัญหาการจำแนกประเภทไบนารีจึงทราบว่าแต่คุณจะคำนวณสำหรับ SVM ได้อย่างไร ผมoi{0,1}f^ผมB=1nΣi=1n(^ผม-โอผม)2โอผมf^ผม

@fcop มีวิธีที่จะแปลงการทำนายการจำแนกเลขฐานสองของ SVM เป็นความน่าจะเป็นซึ่งเรียกว่า Platt Scaling ( en.wikipedia.org/wiki/Platt_scaling ) โดยพื้นฐานแล้วแทนที่จะคำนวณการจัดหมวดหมู่ SVM (หรือ ) เป็นโดยที่เป็นวิธีแก้ปัญหาของการเขียนโปรแกรมสมการกำลังสอง SVM ปัญหาการปรับขนาดของแพลตใช้การแปลงโลจิสติกส์ของ :โดยที่และเป็นพารามิเตอร์ที่กำหนดโดยอัลกอริทึมการปรับขนาดของแพลต Y^ผม=+1-1Y^ผม=sผมก.n(ก.(Yผม,xผม))ก.(Yผม,xผม)ก.(Yผม,xผม)^ผม=P(Y=1|xผม)=11+อีxพี(A×ก.(Yผม,xผม)+B)AB
RobertF

8

ฉันคิดว่าคุณควรตรวจสอบตัวชี้วัดมากกว่าที่เป็นเพียงแค่ AUC และความแม่นยำ

ความแม่นยำ (พร้อมความไวและความเฉพาะเจาะจง) เป็นตัวชี้วัดที่เรียบง่าย แต่มีอคติซึ่งบังคับให้คุณดูผลลัพธ์การทำนายแบบสัมบูรณ์และไม่เปิดรับการยืนยันความน่าจะเป็นหรือการจัดลำดับชั้นเรียน นอกจากนี้ยังไม่คำนึงถึงประชากรที่เชิญให้ตีความแบบจำลองที่ให้ความแม่นยำ 95% กับประชากรที่มีโอกาส 95% ที่ถูกต้องแบบสุ่มไม่ได้เป็นแบบจำลองที่ดีแม้ว่าความแม่นยำจะสูงก็ตาม

AUC เป็นตัวชี้วัดที่ดีสำหรับการยืนยันความถูกต้องของแบบจำลองซึ่งไม่ขึ้นกับความน่าจะเป็นของระดับประชากร อย่างไรก็ตามจะไม่บอกอะไรคุณเกี่ยวกับความน่าจะเป็นของการประมาณความน่าจะเป็นที่ดีเพียงใด คุณสามารถได้รับ AUC สูง แต่ก็ยังมีการประมาณการความน่าจะเป็นที่เบ้มาก การวัดนี้มีการแบ่งแยกมากกว่าความแม่นยำและแน่นอนจะให้แบบจำลองที่ดีขึ้นเมื่อคุณใช้ร่วมกับกฎการให้คะแนนที่เหมาะสมเช่นคะแนน Brier ตามที่กล่าวไว้ในโพสต์อื่น

คุณสามารถรับการพิสูจน์ที่เป็นทางการได้มากขึ้นที่นี่แม้ว่าบทความนี้จะค่อนข้างเชิงทฤษฎี: AUC: การวัดที่สอดคล้องทางสถิติและการแบ่งแยกที่มากกว่าความแม่นยำ

อย่างไรก็ตามมีมาตรวัดที่ดีมากมาย ฟังก์ชั่นการสูญเสียสำหรับการประมาณความน่าจะเป็นระดับ Binary และการจำแนกประเภท: โครงสร้างและการใช้งานเป็นกระดาษที่ดีในการตรวจสอบกฎการให้คะแนนที่เหมาะสมเช่นคะแนน Brier

กระดาษอื่นที่น่าสนใจที่มีตัวชี้วัดสำหรับการยืนยันของประสิทธิภาพการทำงานรูปแบบการประเมินผล: จากความแม่นยำการเรียกคืนและ F-มาตรการร็อค informedness, เด่นชัดและความสัมพันธ์การขึ้นตัวชี้วัดประสิทธิภาพการทำงานที่ดีอื่น ๆ เช่น informedness

เพื่อสรุปฉันขอแนะนำให้ดูที่คะแนน AUC / Gini และ Brier เพื่อยืนยันประสิทธิภาพของแบบจำลองของคุณ แต่ขึ้นอยู่กับเป้าหมายด้วยแบบจำลองของคุณตัวชี้วัดอื่น ๆ อาจเหมาะกับปัญหาของคุณดีกว่า


ลิงก์สำหรับการประเมินผล: จากความแม่นยำการเรียกคืนและการวัดค่า F ถึง ROC ความรู้แจ้งความชัดเจนและสหสัมพันธ์นั้นตายไปแล้ว
vonjd

ถ้าสำหรับหัวเรื่องในตัวอย่างของคุณคือผลไบนารีที่สังเกตได้และคือความน่าจะเป็นที่คาดการณ์ของ '1' ดังนั้นคะแนน Brier คือ (ถ้าฉันจำได้) 2 เนื่องจาก OP มีปัญหาการจำแนกประเภทไบนารีจึงทราบว่าแต่คุณจะคำนวณสำหรับ SVM ได้อย่างไร ผมโอผม{0,1}^ผมB=1nΣผม=1n(^ผม-โอผม)2โอผม^ผม

ไม่มีเส้นแบ่งหลักไม่ดีสำหรับวิธีการที่ให้ผลลัพธ์และไม่ใช่ความน่าจะเป็น Niether เป็น auc เช่นนี้จะบอกคุณว่าคุณจัดอันดับการทำนายของคุณดีแค่ไหน เมื่อมีผลลัพธ์เพียงอย่างเดียวคุณจะได้จุดในพื้นที่ ROC ดังนั้นการให้พื้นที่ใต้เส้นโค้งจะเป็นรูปสามเหลี่ยม แต่มันจะยังคงให้ตัวเลขและจะเป็นอุปสรรคต่อทุกคนแม้ว่ามันจะมากหรือน้อยก็จะกลายเป็นการสูญเสีย 0-1 หากคุณมีผลลัพธ์ที่ฉันแนะนำให้ดูที่ความแม่นยำ Recall และ Kappa ของโคเฮนซึ่งเป็นตัวชี้วัดที่ออกแบบมาสำหรับเมื่อคุณมีผลลัพธ์
ในขณะที่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.