كيفية حساب درجة f1 في r (مع مثال)
عند استخدام نماذج التصنيف في التعلم الآلي، فإن المقياس الشائع الذي نستخدمه لتقييم جودة النموذج هو درجة F1 .
يتم حساب هذا المقياس على النحو التالي:
نتيجة F1 = 2 * (الدقة * الاستدعاء) / (الدقة + الاستدعاء)
ذهب:
- الدقة : تصحيح التنبؤات الإيجابية مقارنة بإجمالي التوقعات الإيجابية
- تذكير : تصحيح التوقعات الإيجابية مقابل مجموع الإيجابيات الفعلية
على سبيل المثال، لنفترض أننا نستخدم نموذج الانحدار اللوجستي للتنبؤ بما إذا كان سيتم ضم 400 لاعب كرة سلة جامعي مختلف إلى الدوري الاميركي للمحترفين أم لا.
تلخص مصفوفة الارتباك التالية التنبؤات التي قدمها النموذج:
فيما يلي كيفية حساب درجة F1 للنموذج:
الدقة = إيجابية حقيقية / (إيجابية حقيقية + إيجابية كاذبة) = 120/ (120+70) = 0.63157
الاستدعاء = إيجابي حقيقي / (إيجابي حقيقي + سلبي كاذب) = 120 / (120+40) = 0.75
نتيجة F1 = 2 * (.63157 * .75) / (.63157 + .75) = . 6857
يوضح المثال التالي كيفية حساب درجة F1 لهذا النموذج الدقيق في R.
مثال: حساب درجة F1 في R
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة fusionMatrix() من حزمة علامة الإقحام في R لحساب درجة F1 (والمقاييس الأخرى) لنموذج انحدار لوجستي محدد:
library (caret) #define vectors of actual values and predicted values actual <- factor(rep(c(1, 0), times=c(160, 240))) pred <- factor(rep(c(1, 0, 1, 0), times=c(120, 40, 70, 170))) #create confusion matrix and calculate metrics related to confusion matrix confusionMatrix(pred, actual, mode = " everything ", positive=" 1 ") Reference Prediction 0 1 0 170 40 1 70 120 Accuracy: 0.725 95% CI: (0.6784, 0.7682) No Information Rate: 0.6 P-Value [Acc > NIR]: 1.176e-07 Kappa: 0.4444 Mcnemar's Test P-Value: 0.005692 Sensitivity: 0.7500 Specificity: 0.7083 Pos Pred Value: 0.6316 Neg Pred Value: 0.8095 Accuracy: 0.6316 Recall: 0.7500 F1: 0.6857 Prevalence: 0.4000 Detection Rate: 0.3000 Detection Prevalence: 0.4750 Balanced Accuracy: 0.7292 'Positive' Class: 1
نرى أن نتيجة F1 هي 0.6857 . وهذا يطابق القيمة التي حسبناها يدويًا سابقًا.
ملاحظة : نحتاج إلى تحديد الوضع = “كل شيء” حتى يتم عرض نتيجة F1 في الإخراج.
إذا كنت تستخدم درجة F1 لمقارنة نماذج متعددة، فإن النموذج الحاصل على أعلى درجة F1 يمثل النموذج الأفضل قدرة على تصنيف الملاحظات إلى فئات.
على سبيل المثال، إذا قمت بملاءمة نموذج انحدار لوجستي آخر مع البيانات وكان لهذا النموذج درجة F1 تبلغ 0.85، فسيتم اعتبار هذا النموذج أفضل لأنه حصل على درجة F1 أعلى.
مصادر إضافية
كيفية إجراء الانحدار اللوجستي في R
نقاط F1 مقابل الدقة: ما الذي يجب عليك استخدامه؟