วิธีสร้างเมทริกซ์ความสับสนใน 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 ประเภท
การถดถอยโลจิสติกเทียบกับการถดถอยเชิงเส้น