كيفية حساب الدقة المتوازنة في بايثون باستخدام sklearn
الدقة المتوازنة هي مقياس يمكننا استخدامه لتقييم أداء نموذج التصنيف .
يتم حسابه على النحو التالي:
الدقة المتوازنة = (الحساسية + النوعية) / 2
ذهب:
- الحساسية : “المعدل الإيجابي الحقيقي” – النسبة المئوية للحالات الإيجابية التي يستطيع النموذج اكتشافها.
- الخصوصية : “المعدل السلبي الحقيقي” – النسبة المئوية للحالات السلبية التي يستطيع النموذج اكتشافها.
يكون هذا المقياس مفيدًا بشكل خاص عندما تكون الفئتان غير متوازنتين، أي أن إحدى الفئتين تظهر أكثر بكثير من الأخرى.
على سبيل المثال، لنفترض أن أحد المحللين الرياضيين يستخدم نموذج الانحدار اللوجستي للتنبؤ بما إذا كان سيتم ضم 400 لاعب كرة سلة جامعي مختلف إلى الدوري الاميركي للمحترفين أم لا.
تلخص مصفوفة الارتباك التالية التنبؤات التي قدمها النموذج:
لحساب الدقة المتوازنة للنموذج، سنقوم أولاً بحساب الحساسية والنوعية:
- الحساسية : “المعدل الإيجابي الحقيقي” = 15 / (15 + 5) = 0.75
- الخصوصية : “المعدل السلبي الحقيقي” = 375 / (375 + 5) = 0.9868
يمكننا بعد ذلك حساب الدقة المتوازنة على النحو التالي:
- الدقة المتوازنة = (الحساسية + النوعية) / 2
- الدقة المتوازنة = (0.75 + 9868) / 2
- الدقة المتوازنة = 0.8684
وتبين أن الدقة المتوازنة للنموذج هي 0.8684 .
يوضح المثال التالي كيفية حساب الدقة المتوازنة لهذا السيناريو المحدد باستخدام وظيفة Balanced_accuracy_score() من مكتبة sklearn في Python.
مثال: حساب الدقة المتوازنة في بايثون
يوضح الكود التالي كيفية تحديد مصفوفة من الفئات المتوقعة ومصفوفة من الفئات الفعلية، ثم حساب الدقة المتوازنة للنموذج في بايثون:
import numpy as np from sklearn. metrics import balanced_accuracy_score #define array of actual classes actual = np. repeat ([1, 0], repeats=[20, 380]) #define array of predicted classes pred = np. repeat ([1, 0, 1, 0], repeats=[15, 5, 5, 375]) #calculate balanced accuracy score balanced_accuracy_score(actual, pred) 0.868421052631579
الدقة المتوازنة هي 0.8684 . وهذا يطابق القيمة التي حسبناها يدويًا سابقًا.
ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة Balanced_accuracy_score() هنا .
مصادر إضافية
مقدمة إلى الدقة المتوازنة
كيفية تنفيذ الانحدار اللوجستي في بايثون
كيفية حساب درجة F1 في بايثون