ทำความเข้าใจเกี่ยวกับเส้นโค้ง ROC


57

ฉันมีปัญหาในการเข้าใจเส้นโค้ง ROC

มีข้อได้เปรียบ / การปรับปรุงในพื้นที่ภายใต้เส้นโค้ง ROC หรือไม่ถ้าฉันสร้างแบบจำลองที่แตกต่างจากชุดย่อยเฉพาะแต่ละชุดของการฝึกอบรมและใช้มันเพื่อสร้างความน่าจะเป็น ตัวอย่างเช่นถ้ามีค่าเป็นและฉันสร้างแบบจำลองโดยใช้จากค่าที่ 1-4 ของและค่าที่ 8-9 ของและสร้างแบบจำลองโดยใช้ข้อมูลรถไฟที่ยังคงอยู่ ในที่สุดสร้างความน่าจะเป็น ความคิด / ความคิดเห็นใด ๆ จะได้รับการชื่นชมมากy{a,a,a,a,b,b,b,b}AayyB

นี่คือรหัส r สำหรับคำอธิบายที่ดีกว่าสำหรับคำถามของฉัน:

Y    = factor(0,0,0,0,1,1,1,1)
X    = matirx(rnorm(16,8,2))
ind  = c(1,4,8,9)
ind2 = -ind

mod_A    = rpart(Y[ind]~X[ind,])
mod_B    = rpart(Y[-ind]~X[-ind,])
mod_full = rpart(Y~X)

pred = numeric(8)
pred_combine[ind]  = predict(mod_A,type='prob')
pred_combine[-ind] = predict(mod_B,type='prob')
pred_full          = predict(mod_full, type='prob')

ดังนั้นคำถามของฉันคือพื้นที่ใต้เส้นโค้งของ ROC VSpred_combinepred_full


3
ตัวอย่างที่ดีกว่านี้จะช่วยปรับปรุงคำถามให้ดีขึ้น
mpiktas

ความเข้าใจของฉันคือคุณต้องการเพิ่ม AUC โดยเลือกตัวอย่างที่เฉพาะเจาะจงหรือไม่ หากนั่นคือจุดประสงค์ของคุณฉันเชื่อมั่นอย่างยิ่งว่าวิธีการเลือกตัวอย่างแบบเอนเอียงนี้ผิดไปอย่างสิ้นเชิงอย่างน้อยถ้าจุดประสงค์ของคุณคือการหามาตรการที่ดีสำหรับการจำแนกประเภท
rapaio

คำตอบ:


174

ฉันไม่แน่ใจว่าฉันได้รับคำถาม แต่เนื่องจากชื่อขออธิบายโค้ง ROC ฉันจะลอง

ROC Curves ใช้เพื่อดูว่าตัวแยกประเภทของคุณสามารถแยกตัวอย่างบวกและลบได้ดีเพียงใดและเพื่อระบุเกณฑ์ที่ดีที่สุดสำหรับการแยกพวกเขา

เพื่อให้สามารถใช้เส้นโค้ง ROC ตัวจําแนกของคุณจะต้องมีการจัดอันดับ - นั่นคือมันควรจะสามารถจัดอันดับตัวอย่างเช่นที่มีอันดับที่สูงกว่ามีแนวโน้มที่จะเป็นบวก ตัวอย่างเช่นLogistic Regressionจะแสดงความน่าจะเป็นซึ่งเป็นคะแนนที่คุณสามารถใช้สำหรับการจัดอันดับ

วาดเส้นโค้ง ROC

รับชุดข้อมูลและลักษณนามการจัดอันดับ:

  • สั่งซื้อตัวอย่างการทดสอบด้วยคะแนนจากมากไปหาน้อย
  • เริ่มต้นใน(0,0)
  • สำหรับแต่ละตัวอย่างในลำดับที่เรียง x
    • ถ้าเป็นบวกให้เลื่อนขึ้น1 / posx1/pos
    • ถ้าเป็นลบให้เลื่อนทางขวา1 / negx1/neg

โดยที่และเป็นเศษส่วนของตัวอย่างบวกและลบตามลำดับnegposneg

ภาพเคลื่อนไหว gif ที่ดีนี้ควรแสดงให้เห็นถึงกระบวนการนี้ชัดเจนขึ้น

สร้างโค้ง

บนกราฟนี้yx

พื้นที่ใต้ ROC

พื้นที่ใต้ roc

พื้นที่ใต้ ROC Curve (แรเงา) แสดงให้เห็นว่าเส้นโค้งจากเส้นฐานอยู่ไกลแค่ไหน สำหรับพื้นฐานคือ 0.5 และสำหรับลักษณนามที่สมบูรณ์แบบคือ 1

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ AUC ROC ในคำถามนี้: AUC หมายถึงอะไรและมันคืออะไร

การเลือกเกณฑ์ที่ดีที่สุด

ฉันจะสรุปกระบวนการเลือกเกณฑ์ที่ดีที่สุดโดยสังเขปและสามารถดูรายละเอียดเพิ่มเติมได้ในการอ้างอิง

ในการเลือกเกณฑ์ที่ดีที่สุดคุณจะเห็นแต่ละจุดของเส้นโค้ง ROC ของคุณเป็นลักษณนามแยกต่างหาก ตัวแยกประเภทย่อยขนาดเล็กนี้ใช้คะแนนที่ได้รับเป็นขอบเขตระหว่าง + และ - (นั่นคือจัดประเภทเป็น + ทุกจุดเหนือจุดปัจจุบัน)

ขึ้นอยู่กับส่วน pos / neg ในชุดข้อมูลของเรา - ขนานกับเส้นฐานในกรณี 50% / 50% - คุณสร้างเส้นความแม่นยำ ISO และใช้เส้นที่มีความแม่นยำที่สุด

นี่คือภาพที่แสดงให้เห็นว่าและสำหรับรายละเอียดฉันขอเชิญคุณอ้างอิงอีกครั้ง

เลือกเกณฑ์ที่ดีที่สุด

การอ้างอิง


ขอบคุณสำหรับความคิดเห็นที่ดี! ฉันขอโทษที่ฉันไม่สามารถโหวตได้สำหรับคำตอบของคุณดูเหมือนว่าฉันต้องมีชื่อเสียงมากกว่า 15 :(
Tay Shin

แค่อยากรู้อยากเห็นขนาดก้าวของคุณจะต้องขึ้นอยู่กับจำนวนของฉลากเชิงบวก / เชิงลบที่ผลิตโดยลักษณนามของคุณถูกต้องหรือไม่ Ie ใน gif ขนาดก้าวขึ้นไปคือ. 1 ถ้าคุณมีป้ายกำกับที่เป็นบวกพิเศษ (แทนที่ป้ายกำกับเชิงลบ) แล้ว "เส้นโค้ง" จะจบลงที่ 1.1 บนแกนตั้ง (หรือบางทีฉันอาจขาดอะไรบางอย่างไป ?) ดังนั้นในกรณีนี้ขนาดขั้นตอนของคุณจะต้องเล็กลง?
kyphos

ไม่ขนาดขั้นตอนขึ้นอยู่กับจำนวนตัวอย่างบวก / ลบในชุดข้อมูลไม่ใช่ความแม่นยำของตัวจําแนก
Alexey Grigorev

2
@ gung เข้าใจ Alexey: แทนที่จะเป็นตัวอย่างบวกและลบฉันคิดว่ามันควรจะเป็น: ผลบวกจริงและผลบวกปลอม คุณอาจเห็นคำตอบฉบับของฉันซึ่งเขียนโดย gung ขอบคุณ
Escachator

3
@AlexeyGrigorev รักคำตอบที่คุณให้และโหวต ฉันไม่แน่ใจว่ามีคำจำกัดความของ ROC สองคำหรือไม่ ฉันหมายถึงคำจำกัดความของ ROC ที่นี่ ( en.wikipedia.org/wiki/Receiver_operating_characteristic ) แกน x ควรเป็นอัตราบวกที่เป็นเท็จซึ่งคือ (# ของการทำนายว่าเป็นค่าบวก แต่ควรเป็นค่าลบ) / (# จากทั้งหมด ลบ) ฉันคิดว่าในการอ้างอิงฉันคิดว่าแกน x ไม่ได้วาดอัตราบวกที่ผิดพลาดซึ่งไม่ได้พิจารณา (# ของจำนวนลบทั้งหมด)
หลินหม่า
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.