วิธีการคำนวณความแม่นยำและการเรียกคืนในเมทริกซ์ความสับสน 3 x 3


12
                  Predicted
                    class
               Cat  Dog Rabbit
  Actual class
           Cat   5    3      0
           Dog   2    3      1
        Rabbit   0    2     11

ฉันจะคำนวณความแม่นยำและเรียกคืนได้อย่างไรจึงง่ายต่อการคำนวณคะแนน F1 เมทริกซ์ความสับสนปกติเป็นมิติ 2 x 2 อย่างไรก็ตามเมื่อมันกลายเป็น 3 x 3 ฉันไม่รู้วิธีคำนวณความแม่นยำและการเรียกคืน

คำตอบ:


19

หากคุณสะกดคำจำกัดความของความแม่นยำ (aka ค่าคาดการณ์เชิงบวก PPV) และการเรียกคืน (aka ความไว) คุณจะเห็นว่าสิ่งเหล่านี้เกี่ยวข้องกับคลาสหนึ่งซึ่งเป็นอิสระจากคลาสอื่น ๆ :

เรียกคืนหรือ senstitivityเป็นสัดส่วนของกรณีที่ระบุได้อย่างถูกต้องเป็นของชั้นเรียนในทุกกรณีที่แท้จริงอยู่ในชั้นเรียนค
(เนื่องจากเรามีกรณีที่เป็นของ " c " อย่างแท้จริงความน่าจะเป็นในการทำนายอย่างถูกต้องคืออะไร)

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

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

ดังนั้นคุณสามารถคำนวณความแม่นยำและเรียกคืนสำหรับแต่ละชั้นเรียนของคุณ สำหรับตารางความสับสนหลายระดับนั่นคือองค์ประกอบในแนวทแยงหารด้วยผลรวมของแถวและคอลัมน์ตามลำดับ:

รูปแบบการคำนวณ

ที่มา: Beleites, C.; Salzer, R. & Sergo, V. การตรวจสอบความถูกต้องของแบบจำลองการจำแนกประเภทโดยใช้การเป็นสมาชิกบางส่วนของชั้นเรียน: แนวคิดเพิ่มเติมของความไวและความไว นำไปใช้กับการจัดลำดับของเนื้อเยื่อ astrocytoma, Chemom Intell Lab Syst, 122, 12 - 22 (2013) DOI: 10.1016 / j.chemolab.2012.12.003


ขอบคุณมาก. ฉันเข้าใจการเปรียบเทียบที่อธิบายในโซลูชันของคุณแล้ว ฉันจะอ่านกระดาษ ฉันจะยอมรับสิ่งนี้เป็นคำตอบ ฉันไม่เข้าใจ PPV และ NPV โปรดอธิบายแนวคิดเหล่านี้เป็นกราฟิกเนื่องจาก Sens และ Spec ได้รับการอธิบายแล้วและฉันจะยอมรับคำตอบของคุณ
user22149

3

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


1

วิธีที่ง่ายที่สุดคือไม่ต้องใช้ confusion_matrix เลยใช้การจำแนก _report () มันจะให้ทุกสิ่งที่คุณต้องการไชโย ...

แก้ไข:
นี่เป็นรูปแบบสำหรับ confusion_matrix ():
[[TP, FN]
[FP, TN]]
และรายงานการจำแนกประเภทให้ทั้งหมดนี้


นั่นถ้าคุณใช้ python ///
Omkaar.K

0

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

import pandas as pd
from sklearn.metrics import classification_report

results = pd.DataFrame(
    [[1, 1],
     [1, 2],
     [1, 3],
     [2, 1],
     [2, 2],
     [2, 3],
     [3, 1],
     [3, 2],
     [3, 3]], columns=['Expected', 'Predicted'])

print(results)
print()
print(classification_report(results['Expected'], results['Predicted']))

เพื่อรับผลลัพธ์ต่อไปนี้

   Expected  Predicted
0         1          1
1         1          2
2         1          3
3         2          1
4         2          2
5         2          3
6         3          1
7         3          2
8         3          3

             precision    recall  f1-score   support

          1       0.33      0.33      0.33         3
          2       0.33      0.33      0.33         3
          3       0.33      0.33      0.33         3

avg / total       0.33      0.33      0.33         9

0

ต่อไปนี้เป็นตัวอย่างของเมทริกซ์ความสับสนหลายระดับที่สมมติว่าเลเบลคลาสของเราคือ A, B และ C

A / P A B C รวม
A 10 3 4 17
B 2 12 6 20
C 6 3 9 18

รวม 18 18 19 55

ตอนนี้เราคำนวณค่าสามค่าสำหรับความแม่นยำและเรียกคืนแต่ละค่าและเรียกมันว่า Pa, Pb และ Pc และในทำนองเดียวกัน Ra, Rb, Rc

เรารู้ความแม่นยำ = TP / (TP + FP) ดังนั้นสำหรับ Pa บวกที่แท้จริงจะเป็นจริง A ที่คาดการณ์เป็น A คือ 10 คือส่วนที่เหลือของเซลล์ทั้งสองในคอลัมน์นั้นไม่ว่าจะเป็น B หรือ C ให้เป็นค่าบวกปลอม ดังนั้น

Pa = 10/18 = 0.55 Ra = 10/17 = 0.59

ตอนนี้ความแม่นยำและการเรียกคืนสำหรับคลาส B คือ Pb และ Rb สำหรับคลาส B ค่าบวกที่แท้จริงคือค่า B ที่คาดการณ์เป็น B นั่นคือเซลล์ที่มีค่า 12 และส่วนที่เหลือของเซลล์ทั้งสองในคอลัมน์นั้นทำให้ค่าเป็นบวกดังนั้น

Pb = 12/18 = 0.67 Rb = 12/20 = 0.6

ในทำนองเดียวกัน Pc = 9/19 = 0.47 Rc = 9/18 = 0.5

ประสิทธิภาพโดยรวมของตัวจําแนกจะถูกกําหนดโดยค่าเฉลี่ยความแม่นยำและค่าเฉลี่ย ในการนี้เราจะเพิ่มค่าความแม่นยำสำหรับแต่ละคลาสด้วยจำนวนอินสแตนซ์ที่แท้จริงสำหรับคลาสนั้นจากนั้นเพิ่มพวกเขาและหารด้วยจำนวนอินสแตนซ์ทั้งหมด ชอบ ,

ค่าเฉลี่ยความแม่นยำ = (0.55 * 17 + 0.67 * 20 + 0.47 * 18) / 55 = 31.21 / 55 = 0.57 การเรียกคืนโดยเฉลี่ย = (0.59 * 17 + 0.6 * 20 + 0.5 * 18) / 55 = 31.03 / 55 = 0.56

ฉันหวังว่ามันจะช่วย

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