كيفية إنشاء مصفوفة الارتباك في بايثون


الانحدار اللوجستي هو نوع من الانحدار يمكننا استخدامه عندما يكون متغير الاستجابة ثنائيًا.

إحدى الطرق الشائعة لتقييم جودة نموذج الانحدار اللوجستي هي إنشاء مصفوفة ارتباك ، وهي عبارة عن جدول 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 أنواع من الانحدار اللوجستي
الانحدار اللوجستي مقابل الانحدار الخطي

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *