كيفية إنشاء مصفوفة الارتباك في بايثون
الانحدار اللوجستي هو نوع من الانحدار يمكننا استخدامه عندما يكون متغير الاستجابة ثنائيًا.
إحدى الطرق الشائعة لتقييم جودة نموذج الانحدار اللوجستي هي إنشاء مصفوفة ارتباك ، وهي عبارة عن جدول 2 × 2 يوضح القيم المتوقعة للنموذج مقابل القيم الفعلية لمجموعة بيانات الاختبار.
لإنشاء مصفوفة ارتباك لنموذج الانحدار اللوجستي في بايثون، يمكننا استخدام الدالةارتباك_ماتريكس() من حزمة sklearn :
from sklearn import metrics metrics.metrics. confusion_matrix (y_actual, y_predicted)
يوضح المثال التالي كيفية استخدام هذه الوظيفة لإنشاء مصفوفة ارتباك لنموذج الانحدار اللوجستي في بايثون.
مثال: إنشاء مصفوفة الارتباك في بايثون
لنفترض أن لدينا الجدولين التاليين اللذين يحتويان على القيم الفعلية لمتغير الاستجابة بالإضافة إلى القيم التي تنبأ بها نموذج الانحدار اللوجستي:
#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]
يمكننا استخدام دالة sklearn’sfusion_matrix() لإنشاء مصفوفة ارتباك لهذه البيانات:
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 أنواع من الانحدار اللوجستي
الانحدار اللوجستي مقابل الانحدار الخطي