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


92

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

  • ความแม่นยำ = TP / (TP + FP)
  • เรียกคืน = TP / (TP + FN)

สำหรับแต่ละชั้นเรียนจากนั้นคำนวณค่า F-micro เฉลี่ย


นี้docx , การประเมินรูปแบบการจัดหมวดหมู่ - สิ่งที่ไม่แม่นยำและจำได้บอกฉัน? จากCompumineให้ข้อมูลเบื้องต้นเกี่ยวกับความสับสนและการวัดที่ได้จากมัน ช่วยในการสร้างเมทริกซ์ความสับสนความแม่นยำการเรียกคืนความจำเพาะและความแม่นยำ
Jayran Choopan

4
ค้นหาคำตอบได้ที่นี่ คำอธิบายที่ดีมากyoutube.com/watch?v=FAr2GmWNbT0

ลิงก์ Compumine นั้นตายแล้ว
เทรนตัน

สำหรับกรณีแบบหลายคลาสสิ่งที่ฉันเข้าใจว่าตามแถว (แกน = 0) คือการเรียกคืนและตามคอลัมน์ (แกน = 1) คือความแม่นยำ rxnlp.com/…
MD ZIA ULLAH

คำตอบ:


69

ในกรณีที่มี 2 สมมติฐานคือเมทริกซ์ความสับสนมักจะ:

       | Declare H1  |  Declare H0 |
|Is H1 |    TP       |   FN        |
|Is H0 |    FP       |   TN        |

ที่ฉันใช้บางสิ่งบางอย่างที่คล้ายกับสัญลักษณ์ของคุณ:

  • TP = จริงบวก (ประกาศ H1 เมื่อในความจริง H1)
  • FN = false negative (ประกาศ H0 เมื่อ, ในความจริง, H1)
  • FP = บวกที่เป็นเท็จ
  • TN = ค่าลบจริง

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

แก้ไข

ข้อสรุปทั่วไปของปัญหาหลายชั้นคือการหาผลรวมของแถว / คอลัมน์ของเมทริกซ์ความสับสน เมื่อพิจารณาว่าเมทริกซ์นั้นมีความสำคัญดังกล่าวข้างต้นนั่นคือแถวของเมทริกซ์ที่สอดคล้องกับค่าเฉพาะสำหรับ "ความจริง" เรามี:

Precision i=MiijMji

Recall i=MiijMij

นั่นคือความแม่นยำเป็นส่วนหนึ่งของเหตุการณ์ที่เกิดขึ้นที่เราได้อย่างถูกต้องประกาศ ออกจากทุกกรณีที่อัลกอริทึมประกาศฉันตรงกันข้ามการเรียกคืนเป็นส่วนหนึ่งของเหตุการณ์ที่เกิดขึ้นอย่างถูกต้องที่เราประกาศออกจากทุกกรณีที่แท้จริงของรัฐของโลกคือฉันiiii


1
ในกรณีของฉันมีมากกว่า 10 คลาสดังนั้นฉันเดาว่า FN จะหมายถึงจำนวนรวมของการประกาศคลาส H (i), i! = 1; และเช่นเดียวกันคือ FP
daiyue

สวัสดีฉันสงสัยว่าค่าจะเป็นอย่างไรสำหรับความแม่นยำและการเรียกคืนหาก TP + FP = 0 และ TP + FN = 0 สำหรับคลาสจริงในเมทริกซ์ความสับสน
daiyue

ความแม่นยำสำหรับการเรียนจะไม่ได้กำหนดหากไม่มีกรณีที่ขั้นตอนวิธีการประกาศi iการเรียกคืนสำหรับการเรียนจะไม่ได้กำหนดถ้าชุดทดสอบไม่รวมถึงระดับi i
เดฟ

เป้าหมายสุดท้ายของฉันคือการคำนวณการวัดมาโครดังนั้นฉันต้องการความแม่นยำและการเรียกคืนค่าสำหรับแต่ละคลาส i ดังนั้นฉันจะคำนวณการวัด Macro-F ได้อย่างไรหากทั้งสองกรณีข้างต้นปรากฏในบางคลาส i โดยเฉพาะอย่างยิ่งสิ่งที่มีค่าสำหรับ Fi และ class i นับเป็นหนึ่งในคลาส M ว่าจำนวนองค์ประกอบใน M จะถูกนับเป็นตัวหารของสูตรสำหรับการคำนวณการวัดมาโคร F
daiyue

1
คุณช่วยอธิบายความคิดของคุณให้ชัดเจนยิ่งขึ้นได้ไหม?
daiyue

31

กระดาษสรุปที่ดีโดยดูที่ตัวชี้วัดเหล่านี้สำหรับปัญหาหลายชั้น:

  • Sokolova, M. , & Lapalme, G. (2009) การวิเคราะห์ระบบการวัดประสิทธิภาพสำหรับงานการจำแนกประเภท การประมวลผลและการจัดการข้อมูล, 45 , p. 427-437 ( pdf )

นามธรรมอ่าน:

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


2
ยินดีต้อนรับสู่เว็บไซต์ @JamesTaylor คุณจะช่วยสรุปข้อมูลในเอกสารที่เชื่อมโยงเพื่อช่วยให้ผู้อ่านตัดสินใจได้หรือไม่ว่ามันเป็นสิ่งที่พวกเขาต้องการ & ในกรณีที่ลิงก์เสียไป
gung

8

ใช้ sklearn และ numpy:

from sklearn.metrics import confusion_matrix
import numpy as np

labels = ...
predictions = ...

cm = confusion_matrix(labels, predictions)
recall = np.diag(cm) / np.sum(cm, axis = 1)
precision = np.diag(cm) / np.sum(cm, axis = 0)

หากต้องการรับมาตรการโดยรวมของความแม่นยำและการเรียกคืนให้ใช้จากนั้น

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