การเรียกคืนและความแม่นยำในการจำแนก


40

ฉันอ่านคำจำกัดความของการเรียกคืนและความแม่นยำแม้ว่าจะเป็นทุกครั้งในบริบทของการดึงข้อมูล ฉันสงสัยว่าบางคนสามารถอธิบายเรื่องนี้ได้มากกว่านี้ในบริบทการจำแนกประเภทและอาจแสดงตัวอย่างบางอย่าง พูดเช่นฉันมีตัวจําแนกไบนารี่ซึ่งให้ความแม่นยำ 60% และการเรียกคืน 95% นี่คือตัวจําแนกที่ดีหรือไม่

อาจช่วยให้เป้าหมายของฉันเพิ่มมากขึ้นตัวแยกประเภทที่ดีที่สุดตามตัวคุณคืออะไร? (ชุดข้อมูลนั้นไม่สมดุลคลาสส่วนใหญ่มีสองเท่าของตัวอย่างของชนกลุ่มน้อยคลาส)

โดยส่วนตัวฉันจะบอกว่า5เพราะพื้นที่ใต้เส้นโค้งตัวรับสัญญาณ

(อย่างที่คุณเห็นในที่นี้รุ่น 8 มีความแม่นยำต่ำเรียกคืนได้สูงมาก แต่หนึ่งใน AUC_ROC ที่ต่ำที่สุดนั่นทำให้มันเป็นแบบอย่างที่ดีหรือไม่?

ป้อนคำอธิบายรูปภาพที่นี่


แก้ไข:

ฉันมีไฟล์ excel พร้อมข้อมูลเพิ่มเติม: https://www.dropbox.com/s/6hq7ew5qpztwbo8/comparissoninbalance.xlsx

ในเอกสารนี้สามารถหาบริเวณใต้เส้นโค้งตัวดำเนินการของตัวรับสัญญาณและพื้นที่ใต้เส้นโค้งเรียกคืนความแม่นยำ ร่วมกันกับแปลง


6
ทำไมคะแนนลบ ดูเหมือนว่าเป็นคำถามที่น่าสนใจ (แน่นอนว่ามีหลายคนคิดว่าเป็นไปได้ที่จะตอบ)
Gala

มีกรณีทดสอบกี่กรณีที่เกี่ยวข้องกับการคำนวณการวัดประสิทธิภาพ นอกจากนี้หากคุณเปรียบเทียบตัวแยกประเภทหลายตัวในชุดข้อมูลเดียวกันคุณสามารถใช้การออกแบบที่จับคู่ (มีคำถามและคำตอบหลายข้อเกี่ยวกับการเปรียบเทียบตัวแยกแยะ CV)
cbeleites รองรับโมนิก้า

ฉันมี 799 ตัวอย่าง (ถ้านั่นคือสิ่งที่คุณหมายถึงโดยกรณีทดสอบ) ทุกครั้งที่ฉันแบ่งข้อมูลเป็น 10 ชุดย่อย 1 เซ็ตย่อยสำหรับการทดสอบตัวแยกประเภทและส่วนที่เหลือสำหรับการฝึกอบรมตัวแยกประเภท (ตัวแยกประเภทที่ถูกเปรียบเทียบจะได้รับการฝึกฝนบนข้อมูลเดียวกัน)
Olivier_s_j

ตัวแยกประเภทส่งออกค่าไบนารีหรือไม่หรือพวกมันออกมูลค่าจริงแล้วใช้เกณฑ์เพื่อให้เป็นไบนารีหรือไม่
galath

พวกเขาออกเอาต์พุตไบนารี
Olivier_s_j

คำตอบ:


40

การจำแนกประเภทเป็น "ดี" หรือไม่นั้นขึ้นอยู่กับ

  1. มีอะไรอีกที่พร้อมใช้งานสำหรับปัญหาเฉพาะของคุณ เห็นได้ชัดว่าคุณต้องการให้ตัวจําแนกดีกว่าการคาดเดาแบบสุ่มหรือไร้เดียงสา (เช่นการจัดประเภททุกอย่างเป็นของหมวดหมู่ที่พบบ่อยที่สุด) แต่บางสิ่งก็ง่ายกว่าที่จะจัดประเภทกว่าคนอื่น
  2. ค่าใช้จ่ายของความผิดพลาดที่แตกต่างกัน (การเตือนที่ผิดพลาดเทียบกับการปฏิเสธเชิงลบ) และอัตราฐาน มันสำคัญมากที่จะต้องแยกแยะทั้งสองและหาผลที่ตามมาเนื่องจากมีลักษณนามที่มีความแม่นยำสูงมาก (การจำแนกประเภทที่ถูกต้องในตัวอย่างทดสอบบางอย่าง) ซึ่งไม่มีประโยชน์อย่างสมบูรณ์ในทางปฏิบัติ (กล่าวว่าคุณกำลังพยายามตรวจหาโรคที่หายาก พฤติกรรมที่ผิดปกติและวางแผนที่จะเปิดการดำเนินการบางอย่างเมื่อตรวจพบการทดสอบขนาดใหญ่มีค่าใช้จ่ายบางอย่างและการดำเนินการแก้ไข / รักษามักจะเกี่ยวข้องกับความเสี่ยง / ค่าใช้จ่ายที่สำคัญดังนั้นการพิจารณาว่าการเข้าชมส่วนใหญ่จะเป็นผลบวกที่ผิดพลาด อาจจะดีกว่าที่จะไม่ทำอะไรเลย)

เพื่อให้เข้าใจถึงการเชื่อมโยงระหว่างการเรียกคืน / ความแม่นยำในอีกด้านหนึ่งและความไว / ความจำเพาะในทางกลับกันมันมีประโยชน์ที่จะกลับมาเป็นเมทริกซ์ความสับสน:

                      Condition: A             Not A

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

การเรียกคืนคือ TP / (TP + FN) ในขณะที่ความแม่นยำคือ TP / (TP + FP) สิ่งนี้สะท้อนถึงลักษณะของปัญหา: ในการดึงข้อมูลคุณต้องการระบุเอกสารที่เกี่ยวข้องให้มากที่สุดเท่าที่จะทำได้ (เป็นการเรียกคืน) และหลีกเลี่ยงการเรียงลำดับขยะ (ความแม่นยำ)

การใช้ตารางเดียวกันตัวชี้วัดการจำแนกประเภทแบบดั้งเดิมคือ (1) ความไวที่กำหนดเป็น TP / (TP + FN) และ (2) ความจำเพาะที่กำหนดเป็น TN / (FP + TN) ดังนั้นการเรียกคืนและความไวจึงเป็นคำพ้องความหมาย แต่ความแม่นยำและความจำเพาะมีการกำหนดแตกต่างกัน (เช่นการเรียกคืนและความไวความจำเพาะจะถูกกำหนดด้วยความเคารพต่อผลรวมคอลัมน์ในขณะที่ความแม่นยำหมายถึงผลรวมของแถว) ความแม่นยำบางครั้งเรียกว่า "ค่าทำนายเชิงบวก" หรือ "อัตราบวกผิดพลาด" (แต่ดูคำตอบของฉันที่เกี่ยวข้องกับความสัมพันธ์ระหว่างบวกบวกเท็จบวกลบเท็จและลบเชิงลบจริงเกี่ยวกับความสับสนรอบคำจำกัดความของเท็จบวกนี้ ประเมินค่า).

ที่น่าสนใจตัวชี้วัดการดึงข้อมูลไม่เกี่ยวข้องกับการนับ“ ลบจริง” วิธีนี้เหมาะสม: ในการดึงข้อมูลคุณไม่สนใจการจำแนกอินสแตนซ์เชิงลบต่อคุณอย่างถูกต้องคุณไม่ต้องการมากเกินไปที่จะทำให้ผลลัพธ์ของคุณมีมลภาวะ (ดูทำไมทำไมการจำคืนจึงไม่คำนึงถึงแง่ลบจริง ๆ )

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

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

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

เมื่อพิจารณาทั้งหมดนี้ความแม่นยำ 60% และการเรียกคืน 95% นั้นฟังดูไม่ดีนัก แต่สิ่งนี้ขึ้นอยู่กับโดเมนและสิ่งที่คุณตั้งใจจะทำกับตัวจําแนกนี้จริงๆ


ข้อมูลเพิ่มเติมบางส่วนเกี่ยวกับความเห็น / การแก้ไขล่าสุด:

อีกครั้งประสิทธิภาพที่คุณสามารถคาดหวังได้นั้นขึ้นอยู่กับลักษณะเฉพาะ (ในบริบทนี้จะเป็นสิ่งต่าง ๆ เช่นชุดอารมณ์ที่แน่นอนที่มีอยู่ในชุดฝึกอบรมคุณภาพของภาพ / วิดีโอความส่องสว่างการบดเคี้ยวการเคลื่อนไหวของหัว บุคคลที่ขึ้นกับบุคคลหรือบุคคลที่เป็นอิสระเป็นต้น) แต่ F1 มากกว่า 0.7 นั้นฟังดูดีสำหรับแอปพลิเคชันประเภทนี้แม้ว่าโมเดลที่ดีที่สุดสามารถทำได้ดีกว่าในชุดข้อมูลบางชุด [ดู Valstar, MF, Mehu, M. , Jiang B. , Pantic, M. , & Scherer, K. (2012) การวิเคราะห์เมตาของความท้าทายการจดจำการแสดงออกทางสีหน้าครั้งแรก ธุรกรรม IEEE บนระบบ, มนุษย์และไซเบอร์เนติกส์, ส่วน B: ไซเบอร์เนติกส์, 42 (4), 966-979]

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

ในที่สุดการเปรียบเทียบแบบหัวต่อหัวระหว่างรุ่นยังเป็นคำถามอื่น สิ่งที่ฉันใช้กับตัวเลขที่คุณนำเสนอคือไม่มีความแตกต่างอย่างมากระหว่างแบบจำลอง (ถ้าคุณอ้างถึงกระดาษที่ฉันอ้างถึงข้างต้นช่วงคะแนน F1 สำหรับรุ่นที่เป็นที่รู้จักกันดีในบริเวณนี้นั้นกว้างกว่ามาก) ในทางปฏิบัติด้านเทคนิค (ความเรียบง่าย / ความพร้อมใช้งานของไลบรารีมาตรฐานความเร็วของเทคนิคที่แตกต่างกัน ฯลฯ ) มีแนวโน้มว่าจะตัดสินใจว่าจะใช้รูปแบบใดยกเว้นค่าใช้จ่าย / ผลประโยชน์และอัตราโดยรวม


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

1
@Gala: ความแตกต่างระหว่าง 'ปลุกเท็จ' และ 'ลบเชิงลบ' คืออะไร? คุณหมายถึง 'การเตือนที่ผิด' และ 'การบวกที่ผิดพลาด' หรือไม่?
Matt O'Brien

@ MattO'Brien การเตือนที่ผิดพลาดเป็นผลบวกที่ผิดพลาด (เช่นระบบแจ้งว่า "ระวัง!" หรือ "พบบางสิ่ง!" แต่ไม่มีอะไรและไม่จำเป็นต้องทำดังนั้นจึงเป็น "การเตือนที่ผิดพลาด" บางทีคำศัพท์อาจทำให้สับสนเล็กน้อยฉันจะตรวจสอบคำตอบในภายหลัง
งานเลี้ยง

@Ojtwist หากบวกมีความน่าจะเป็นก่อนหน้า 67% คุณจะได้รับการเรียกคืน 100% และความแม่นยำ ~ 67% โดยการทำนายทุกอย่างในเชิงบวก
ทำเครื่องหมาย

21

ในบริบทของการจำแนกเลขฐานสองตัวอย่างมีทั้งบวกหรือลบ

  • การเรียกคืนจะตอบคำถาม: "ให้ตัวอย่างที่เป็นบวกแล้วตัวแยกประเภทจะตรวจพบหรือไม่"
  • ความแม่นยำตอบคำถาม: "จากการคาดคะเนที่เป็นบวกจากลักษณนาม

ดังนั้นขึ้นอยู่กับว่าการมุ่งเน้นไปที่ตัวอย่างเชิงบวกหรือการคาดการณ์เชิงบวก

หนึ่งสามารถพูดว่า "ที่จำอย่างน้อย 90% ตัวจําแนกที่มีความแม่นยำสูงสุดคือ 4" แต่ถ้าสิ่งที่สำคัญคือคุณภาพของการทำนายในหมู่ตัวจำแนกประเภทที่มีความแม่นยำอย่างน้อย 70% สิ่งที่ทำให้การเรียกคืนได้สูงสุดคือ 6


6

การย้ายจากการคาดการณ์อย่างต่อเนื่องที่ใช้ในการคำนวณพื้นที่ ROC (ความน่าจะเป็นที่สอดคล้องกัน; ดัชนี c) ไปยังกฎการให้คะแนนที่ไม่เหมาะสมอย่างไม่ต่อเนื่อง หรือรูปแบบที่ผิด มันจะดีกว่ามากในการตัดสินใจบนพื้นฐานของกฎการให้คะแนนที่เหมาะสม (เช่นกฎการให้คะแนนความน่าจะเป็นบันทึก / เบี่ยงเบน / ลอการิทึม / ลอการิทึม; คะแนน Brier (คะแนนความแม่นยำความน่าจะเป็นกำลังสอง) ข้อดีหลายประการของวิธีการดังกล่าวคือการระบุการสังเกตที่การจำแนกประเภทเป็นอันตรายต่อสุขภาพของคุณเนื่องจากความไม่แน่นอนที่เกิดจากความน่าจะเป็นระดับกลาง


กฎการให้คะแนนเหล่านี้ใช้ไม่ได้เมื่อแบบจำลองนั้นให้ผลลัพธ์ที่น่าจะเป็นหรือไม่
Olivier_s_j

3
คุณพูดถึง ROC AUC ซึ่งต้องการผลลัพธ์ที่น่าจะเป็น (หรือบางอย่างที่เป็นฟังก์ชันโมโนโทนเดียวกัน วิธีการทำนายที่ดีที่สุดมีความน่าจะเป็นภายใต้ประทุน
Frank Harrell

DxyY

ปัญหาของการใช้ ROC และการวัดความแม่นยำของการจำแนกประเภทที่ไม่ใช่ "บังคับทางเลือก" ก็คือพวกเขาไม่ได้มีความหมายอะไรเลยในบริบทของแอปพลิเคชันโดยที่หนึ่งต้องเลือกเกณฑ์ตามกรณีธุรกิจ ตัวอย่างเช่นในผลิตภัณฑ์ตรวจจับอาชญากรรมทางการเงินสำหรับวาณิชธนกิจธุรกิจอาจมีทรัพยากรมนุษย์เพื่อตรวจสอบการจำแนก 100 ครั้งต่อปีสิ่งนี้ทำให้เกิดเกณฑ์คงที่ซึ่งควรปรับให้เหมาะสม Gini, ROC area และอื่น ๆ จะไม่บอกคุณว่าแบบจำลองดีแค่ไหนในเกณฑ์นี้ ...
samthebest

2
มีความสมเหตุสมผลที่จะ จำกัด งบประมาณเกี่ยวกับจำนวนการสอบสวน สิ่งนี้ไม่จำเป็นต้องมีเกณฑ์ไม่มีการเพิ่มประสิทธิภาพใหม่ไม่มีการจำแนกประเภทและไม่มีการวิเคราะห์ ROC เพียงแค่เรียงลำดับการสังเกตตามลำดับความเสี่ยงที่คาดการณ์ไว้และเลือก 100 การสังเกตครั้งแรกเพื่อตรวจสอบ สิ่งนี้เกี่ยวข้องกับเส้นโค้งยกที่ใช้ในการตลาด
Frank Harrell

5

ค่าความแม่นยำมิได้เรียกคืนบอกเล่าเรื่องราวเต็มรูปแบบและมันเป็นเรื่องยากที่จะเปรียบเทียบทำนายที่มีการพูด, การเรียกคืน 90% และความแม่นยำ 60% ถึงทำนายที่มีการพูด, ความแม่นยำ 85% และการเรียกคืน 65% - เว้นแต่ของหลักสูตรที่คุณมี ค่าใช้จ่าย / ผลประโยชน์ที่เกี่ยวข้องกับแต่ละ 4 เซลล์ (TP / FP / tn / Fn) ในเมทริกซ์ความสับสน

วิธีที่น่าสนใจที่จะได้ตัวเลขหนึ่งตัว ( ความสามารถหรือที่รู้จักว่าสัมประสิทธิ์ความไม่แน่นอน ) ที่อธิบายถึงประสิทธิภาพของตัวจําแนกคือการใช้ทฤษฎีข้อมูล :

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

นั่นคือมันจะบอกคุณว่าส่วนใดของข้อมูลที่อยู่ในข้อมูลจริงที่ถูกกู้คืนโดยตัวจําแนก เป็น 0 ถ้าความแม่นยำหรือการเรียกคืนเป็น 0 และเป็น 100% ถ้า (และเฉพาะในกรณี) ทั้งความแม่นยำและการเรียกคืนเป็น 100% ในการที่มันจะคล้ายกับคะแนน F1แต่ความสามารถมีความหมายข้อมูลทางทฤษฎีที่ชัดเจนในขณะที่ F1 เป็นเพียงค่าเฉลี่ยฮาร์มอนิกของตัวเลขสองตัวที่มีความหมาย

คุณสามารถค้นหากระดาษการนำเสนอและรหัส (Python) เพื่อคำนวณตัวชี้วัดความชำนาญได้ที่นี่: https://github.com/Magnetic/proficiency-metric


! ที่น่าสนใจ คุณสามารถยกตัวอย่างวิธีการคำนวณความสามารถให้เราได้หรือไม่ ทำให้สูตรดูแปลกสำหรับฉัน
เหงา


ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
Scortchi - Reinstate Monica
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.