ใน โดยปกติเราจะมีกรณีการใช้งาน 2 ประเภทที่แตกต่างกัน และ ปัญหา. Confusion Matrix ช่วยในการคำนวณความถูกต้องของรูปแบบการจำแนกซึ่งช่วยให้เราสามารถอธิบายประสิทธิภาพของรูปแบบการจำแนกทางอ้อมได้ เป็นขั้นตอนที่สำคัญที่สุดในการประเมินโมเดล ฉันจะพูดถึงหัวข้อต่อไปนี้ในบทความนี้:
2. ความถูกต้องและส่วนประกอบของ Confusion Matrix
3. ความแม่นยำการเรียกคืนและการวัดค่า F
วิธีเริ่มต้นคลาสใน python
4. การสร้าง Confusion Matrix โดยใช้ Python และ Sklearn
Confusion Matrix คืออะไร?
เมทริกซ์ความสับสนคือการสรุปการเปรียบเทียบของผลลัพธ์ที่คาดการณ์และผลลัพธ์ที่แท้จริงในกรณีการใช้งานปัญหาการจำแนกประเภทใด ๆ สรุปการเปรียบเทียบมีความจำเป็นอย่างยิ่งในการกำหนดประสิทธิภาพของโมเดลหลังจากได้รับการฝึกอบรมด้วยข้อมูลการฝึกอบรมบางส่วน สำหรับกรณีการใช้งานการจำแนกประเภทไบนารี Confusion Matrix คือเมทริกซ์ 2 × 2 ซึ่งดังที่แสดงด้านล่างค่าคลาส 1 ที่คาดการณ์ไว้ เช่น 1 | ค่าคลาส 2 ที่คาดการณ์ไว้ เช่น: 0 | |
ค่าคลาส 1 จริง เช่น 1 | TP (True Positive) | FN (ลบเท็จ) |
ค่าคลาส 2 จริง เช่น: 0 | FP (บวกเท็จ) | TN (ค่าลบจริง) |
จากรูปด้านบน:
เรามี,
- ค่าคลาส 1 จริง = 1 ซึ่งคล้ายกับค่าบวกในผลลัพธ์ไบนารี
- ค่าคลาส 2 จริง = 0 ซึ่งคล้ายกับค่าลบในผลลัพธ์ไบนารี
ดัชนีด้านซ้ายของเมทริกซ์ความสับสนโดยทั่วไปจะระบุค่าจริงและคอลัมน์บนสุดจะระบุค่าที่คาดการณ์ไว้
มีส่วนประกอบต่างๆที่มีอยู่เมื่อเราสร้างเมทริกซ์ความสับสน ส่วนประกอบดังกล่าวด้านล่าง
บวก (P): ผลลัพธ์ที่ทำนายเป็นบวก (ตัวอย่าง: รูปภาพคือแมว)
เชิงลบ (N): ผลลัพธ์ที่คาดการณ์เป็นลบ (ตัวอย่าง: รูปภาพไม่ใช่แมว)
True Positive (TP): โดยทั่วไป TP จะระบุการคาดการณ์และค่าที่แท้จริงคือ 1 (True)
True Negative (TN): ที่นี่ TN ระบุการทำนายและค่าจริงคือ 0 (False)
ลบเท็จ (FN): ที่นี่ FN ระบุว่าค่าที่ทำนายคือ 0 (ค่าลบ) และค่าจริงคือ 1 ที่นี่ทั้งสองค่าไม่ตรงกัน ดังนั้นจึงเป็นลบเท็จ
บวกเท็จ (FP): ที่นี่ FP ระบุว่าค่าทำนายคือ 1 (ค่าบวก) และค่าจริงคือ 0 อีกครั้งทั้งสองค่าไม่ตรงกัน ดังนั้นจึงเป็นบวกเท็จ
ความถูกต้องและส่วนประกอบของ Confusion Matrix
หลังจากสร้างเมทริกซ์ความสับสนและเรากำหนดค่าส่วนประกอบทั้งหมดแล้วการคำนวณความแม่นยำจะกลายเป็นเรื่องง่ายมาก ดังนั้นเรามาดูส่วนประกอบเพื่อทำความเข้าใจสิ่งนี้ให้ดีขึ้น- ความแม่นยำในการจำแนกประเภท
จากสูตรข้างต้นผลรวมของ TP (True Positive) และ TN (True Negative) คือผลการทำนายที่ถูกต้อง ดังนั้นในการคำนวณความแม่นยำเป็นเปอร์เซ็นต์เราจึงหารด้วยส่วนประกอบอื่น ๆ ทั้งหมด อย่างไรก็ตามมีปัญหาบางประการเกี่ยวกับความแม่นยำและเราไม่สามารถพึ่งพาได้อย่างสมบูรณ์
ให้เราพิจารณาว่าชุดข้อมูลของเราไม่สมดุลอย่างสมบูรณ์ ในสถานการณ์นี้ความแม่นยำ 98% อาจดีหรือไม่ดีขึ้นอยู่กับคำชี้แจงปัญหา ดังนั้นเราจึงมีคำสำคัญเพิ่มเติมซึ่งจะช่วยให้เรามั่นใจในความแม่นยำที่เราคำนวณได้ เงื่อนไขมีดังต่อไปนี้:
- TPR (True Positive Rate) หรือความไว:
อัตรา True Positive หรือที่เรียกว่า Sensitivity จะวัดเปอร์เซ็นต์ของ True Positive เทียบกับ Total Actual Positives ซึ่งระบุโดย (TP + FN)
ค่าคลาส 1 ที่คาดการณ์ไว้ เช่น 1 | ค่าคลาส 2 ที่คาดการณ์ไว้ เช่น: 0 | รวม | |
ค่าคลาส 1 จริง เช่น 1 | TP (True Positive) | FN (ลบเท็จ) | ผลบวกจริงทั้งหมด |
ค่าคลาส 2 จริง เช่น: 0 | FP (บวกเท็จ) | TN (ค่าลบจริง) | ผลลบจริงทั้งหมด |
- TNR (True Negative Rate) หรือความจำเพาะ:
True Negative Rate หรือความจำเพาะวัดสัดส่วนของเชิงลบจริงเทียบกับค่าลบทั้งหมด
ค่าคลาส 1 ที่คาดการณ์ไว้ เช่น 1 | ค่าคลาส 2 ที่คาดการณ์ไว้ เช่น: 0 | รวม | |
ค่าคลาส 1 จริง เช่น 1 | TP (True Positive) | FN (ลบเท็จ) | ผลบวกจริงทั้งหมด |
ค่าคลาส 2 จริง เช่น: 0 | FP (บวกเท็จ) | TN (ค่าลบจริง) | ผลลบจริงทั้งหมด |
TNR = True Negative / (True Negative + False Positive)
- อัตราบวกเท็จ (FPR):
False Positive Rate คือเปอร์เซ็นต์ของ Predicted False Positive (FP) ต่อจำนวนผลลัพธ์เชิงบวกที่คาดการณ์ไว้ทั้งหมด (TP + FP)
ค่าคลาส 1 ที่คาดการณ์ไว้ เช่น 1 | ค่าคลาส 2 ที่คาดการณ์ไว้ เช่น: 0 | |
ค่าคลาส 1 จริงเช่น 1 | TP (True Positive) | FN (ลบเท็จ) |
ค่าคลาส 2 จริงเช่น 0 | FP (บวกเท็จ) | TN (ค่าลบจริง) |
ผลรวมของผลบวกที่คาดการณ์ไว้ทั้งหมด | ผลรวมของค่าลบที่คาดการณ์ไว้ทั้งหมด |
- อัตราลบเท็จ (FNR):
False Negative Rate คือเปอร์เซ็นต์ของ Predicted False Negative (FP) ต่อจำนวนผลลัพธ์เชิงลบที่คาดการณ์ไว้ทั้งหมด (TN + FN)
ความแม่นยำการเรียกคืนและการวัดค่า F
- จำ:
การเรียกคืนจะคล้ายกับ True Positive Rate และเป็นอัตราส่วนของจำนวนค่าบวกที่ทำนายได้อย่างถูกต้อง (TP) กับค่าบวกทั้งหมด
- ความแม่นยำ:
โดยพื้นฐานแล้วความแม่นยำจะบ่งบอกถึงจุดทั้งหมดที่โมเดลคาดการณ์ว่าจะเป็นบวกและเปอร์เซ็นต์ของพวกเขานั้นเป็นบวกจริงๆ
ความแม่นยำและการเรียกคืนคือผลลัพธ์ของเมตริกที่มุ่งเน้นไปที่คลาสบวกดังที่แสดงจากสูตรข้างต้น
- F- การวัด
ดังนั้น F-Measure เป็นเทคนิคที่รวมทั้งเทคนิคความแม่นยำและการเรียกคืนเข้าด้วยกันและใช้ค่าเฉลี่ยฮาร์มอนิกแทนค่าเฉลี่ยเลขคณิตตามปกติเนื่องจากมีการลงโทษค่ามาก F-measure เรียกอีกอย่างว่า F1- คะแนนและกำหนดโดยสูตรด้านล่าง
ให้เราพิจารณาตัวอย่างและดูว่าเราจะคำนวณความแม่นยำความแม่นยำการเรียกคืนและคะแนน F1 ได้อย่างไร
N = 165 | ทำนายว่าใช่ | ที่คาดการณ์ไว้ |
ใช่จริง | TP = 150 | FN = 10 |
หมายเลขปัจจุบัน | FP = 20 | TN = 100 |
- ความแม่นยำ = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0.89
- เรียกคืน = TP / (TP + FN) = 150 / (150 + 10) = 0.93
- ความแม่นยำ: TP / (TP + FP) = 150 / (150 + 20) = 0.88
- F-measure = (2 * Recall * Precision) / (Recall + Presision) = (2 * 0.93 * 0.88) / (0.93 + 0.88) = 0.90
การสร้าง Confusion Matrix โดยใช้ Python และ Sklearn
ตอนนี้เราจะเห็นตัวอย่างของวิธีที่เราสามารถสร้างเมทริกซ์ความสับสนโดยใช้ python พร้อมกับไลบรารี sklearn
หนึ่ง. ในขั้นต้นเราจะสร้างรายการข้อมูลจริงและคำทำนายเพื่อตรวจสอบความถูกต้องดังที่แสดงด้านล่าง
# สคริปต์ Python สำหรับการสร้างเมทริกซ์ความสับสน actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] ทำนาย _data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]
2. เราจำเป็นต้องนำเข้าเมทริกซ์ความสับสนจากไลบรารี sklearn ดังที่แสดงด้านล่าง:
จาก sklearn.metrics นำเข้าความสับสน _matrix
3. ต่อไปเราจะสร้างเมทริกซ์ความสับสนดังที่แสดงด้านล่าง:
final_results = ความสับสน _ เมทริกซ์ (actual_data, Predict_data)
สี่. ตอนนี้เราสามารถคำนวณความถูกต้องได้โดยการนำเข้าไลบรารีดังที่แสดงด้านล่าง:
จาก sklearn.metrics นำเข้าความแม่นยำ _ คะแนนความถูกต้อง = ความแม่นยำ _ คะแนน (actual_data, ทำนาย _data)
5. สุดท้ายเราคำนวณคะแนน F1 หรือ F- การวัดดังที่แสดงด้านล่าง:
จาก sklearn.metrics การนำเข้าการจัดหมวดหมู่_reportรายงาน = การจัดหมวดหมู่_report (actual_data, Predict_data)
ด้านล่างนี้คือรหัสที่สมบูรณ์:
actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] ทำนาย _data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] จาก sklearn.metrics การนำเข้าความสับสน _matrix final_results = ความสับสน _ เมทริกซ์ (actual_data, ทำนาย _data) พิมพ์ (final_results) จาก sklearn.metrics นำเข้าความแม่นยำ_scoreความถูกต้อง = ความถูกต้อง_score (actual_data, ทำนาย _data) จาก sklearn.metrics นำเข้าการจัดหมวดหมู่_reportรายงาน = การจัดหมวดหมู่_report ( actual_data, Predict_data) พิมพ์ (ความถูกต้อง) พิมพ์ (รายงาน)
ดังนั้นเราจึงมาถึงจุดสิ้นสุดของบทความนี้ ฉันหวังว่าความสับสนทั้งหมดของคุณเกี่ยวกับ Confusion Matrix จะได้รับการแก้ไขแล้ว
Edureka’s ช่วยให้คุณมีความเชี่ยวชาญในอัลกอริธึมการเรียนรู้ของเครื่องต่างๆเช่นการถดถอยการจัดกลุ่มต้นไม้การตัดสินใจป่าสุ่มNaïve Bayes และ Q-Learning การเรียนรู้ของเครื่องโดยใช้ Python Training ทำให้คุณได้เห็นแนวคิดของสถิติอนุกรมเวลาและอัลกอริทึมการเรียนรู้ของเครื่องคลาสต่างๆเช่นอัลกอริธึมที่มีการควบคุมดูแลไม่ได้รับการควบคุม ตลอดหลักสูตรการรับรองวิทยาศาสตร์ข้อมูลคุณจะได้รับการไขกรณีศึกษาในชีวิตจริงเกี่ยวกับสื่อการดูแลสุขภาพโซเชียลมีเดียการบินทรัพยากรบุคคล