วิธีสร้างเมทริกซ์ความสับสนใน python


การถดถอยแบบโลจิสติก เป็นการถดถอยประเภทหนึ่งที่เราสามารถใช้ได้เมื่อตัวแปรตอบสนองเป็นไบนารี

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

ในการสร้างเมทริกซ์ความสับสนสำหรับโมเดลการถดถอยโลจิสติกใน Python เราสามารถใช้ฟังก์ชัน ความสับสน _matrix() จากแพ็คเกจ sklearn :

 from sklearn import metrics
metrics.metrics. confusion_matrix (y_actual, y_predicted)

ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้เพื่อสร้างเมทริกซ์ความสับสนสำหรับโมเดลการถดถอยโลจิสติกใน Python

ตัวอย่าง: การสร้างเมทริกซ์ความสับสนใน Python

สมมติว่าเรามีสองตารางต่อไปนี้ที่มีค่าจริงของตัวแปรตอบสนองตลอดจนค่าที่ทำนายโดยแบบจำลองการถดถอยโลจิสติก:

 #define array of actual values
y_actual = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

#define array of predicted values
y_predicted = [0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1]

เราสามารถใช้ฟังก์ชัน comparison_matrix() ของ sklearn เพื่อสร้างเมทริกซ์ความสับสนสำหรับข้อมูลนี้ได้:

 from sklearn import metrics

#create confusion matrix
c_matrix = metrics. confusion_matrix (y_actual, y_predicted)

#print confusion matrix
print (c_matrix)

[[6 4]
 [2 8]]

หากเราต้องการ เราสามารถใช้ฟังก์ชัน crosstab() ของ pandas เพื่อสร้างเมทริกซ์ความสับสนที่ดึงดูดสายตามากขึ้น:

 import pandas as pd

y_actual = pd. Series (y_actual, name=' Actual ')
y_predicted = pd. Series (y_predicted, name=' Predicted ')

#create confusion matrix
print (pd. crosstab (y_actual, y_predicted))

Predicted 0 1
Current         
0 6 4
1 2 8

คอลัมน์แสดงค่าที่คาดการณ์ไว้สำหรับตัวแปรตอบสนอง และแถวแสดงค่าจริง

นอกจากนี้เรายังสามารถคำนวณความแม่นยำ ความแม่นยำ และการเรียกคืนได้โดยใช้ฟังก์ชันในแพ็คเกจ sklearn:

 #print accuracy of model
print ( metrics.accuracy_score (y_actual, y_predicted))

0.7

#print precision value of model
print ( metrics.precision_score (y_actual, y_predicted))

0.667

#print recall value of model
print (metrics. recall_score (y_actual, y_predicted))

0.8

ต่อไปนี้เป็นการทบทวนสั้นๆ เกี่ยวกับความแม่นยำ ความแม่นยำ และการเรียกคืน:

  • ความแม่นยำ : เปอร์เซ็นต์ของการทำนายที่ถูกต้อง
  • ความแม่นยำ : แก้ไขการคาดการณ์เชิงบวกโดยสัมพันธ์กับการคาดการณ์เชิงบวกทั้งหมด
  • คำเตือน : การแก้ไขการคาดการณ์เชิงบวกเทียบกับผลบวกจริงทั้งหมด

และต่อไปนี้คือวิธีคำนวณเมตริกแต่ละรายการในตัวอย่างของเรา:

  • ความแม่นยำ : (6+8) / (6+4+2+8) = 0.7
  • ความแม่นยำ : 8 / (8+4) = 0.667
  • คำเตือน : 8 / (2+8) = 0.8

แหล่งข้อมูลเพิ่มเติม

รู้เบื้องต้นเกี่ยวกับการถดถอยโลจิสติก
การถดถอยโลจิสติก 3 ประเภท
การถดถอยโลจิสติกเทียบกับการถดถอยเชิงเส้น

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *