اكتشف أهمية مقياس F1 في تعلم الآلة! تعرف على كيفية موازنة الدقة والاسترجاع لتقييم النموذج الأمثل.
تعد F1-Score مقياس أداء مهم في التعلم الآلي (ML) المستخدم لتقييم دقة نماذج التصنيف. على عكس الدقة البسيطة، والتي تحسب النسبة المئوية للتنبؤات الصحيحة، فإن تجمع F1-Score بين مقياسين حيويين آخرين - الدقة و التذكر-فيقيمة واحدة. يتم تعريفه على أنه المتوسط التوافقي للدقة والاستدعاء. هذا يجعل F1-Score مفيداً بشكل خاص لتقييم النماذج المدرّبة على مجموعات بيانات غير متوازنة، حيث يفوق عدد العينات في إحدى الفئات عدد العينات الأخرى بشكل كبير. في مثل هذه الحالات، قد يحقق النموذج دقة عالية ببساطة عن طريق التنبؤ بفئة الأغلبية، بينما يفشل في تحديد فئة الأقلية التي غالبًا ما تكون ذات أهمية أكبر.
لفهم النتيجة F1-Score، من الضروري فهم التوتر بين مكوناتها. تقيس الدقة جودة التنبؤات الإيجابية (تقليل النتائج الإيجابية الخاطئة)، بينما يقيس Recall كمية النتائج الإيجابية الحقيقية التي تم تحديدها (تقليل السلبيات الخاطئة). في كثير من الأحيان، تؤدي زيادة أحد هذين المقياسين إلى انخفاض في الآخر، وهي ظاهرة ظاهرة تُعرف باسم المفاضلة بين الدقة والاستدعاء. يوفر F1-Score رؤية متوازنة من خلال معاقبة القيم القصوى. حيث تصل إلى أفضل قيمة لها عند 1 (دقة واستدعاء مثاليان) وأسوأ قيمة عند 0 (دقة واستدعاء مثاليان). الدقة والاستدعاء الكاملين) والأسوأ عند 0. هذا التوازن ضروري لتطوير أنظمة تنبؤية قوية أنظمة نمذجة تنبؤية قوية حيث تحمل كل من الكشف عن الأخطاء والإنذارات الخاطئة التي تنطوي على تكاليف كبيرة.
لا يمكن الاستغناء عن F1-Score في السيناريوهات التي تكون فيها تكلفة الخطأ مرتفعة أو يكون توزيع البيانات منحرفًا.
بالنسبة لمهام الرؤية الحاسوبية مثل اكتشاف الأجسام، يساعد F1-Score في تحديد مدى مدى جودة النموذج في تحديد الحدود وتصنيف الأجسام عند عتبات ثقة محددة. عند تدريب نماذج مثل Ultralytics YOLO11فإن عملية التحقق من الصحة تحسب الدقة والاستدعاء و F1-Scores لمساعدة المهندسين على اختيار أفضل أوزان النماذج.
يوضّح كود Python التالي كيفية التحقق من صحة نموذج YOLO11 المدرّب مسبقًا والوصول إلى مقاييس الأداء.
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Run validation on a dataset like COCO8
# The .val() method computes metrics including Precision, Recall, and mAP
metrics = model.val(data="coco8.yaml")
# Print the mean results
# While F1 is computed internally for curves, mAP is the primary summary metric
print(f"Mean Average Precision (mAP50-95): {metrics.box.map}")
print(f"Precision: {metrics.box.mp}")
print(f"Recall: {metrics.box.mr}")
يعتمد اختيار المقياس الصحيح على الأهداف المحددة لمشروع الذكاء الاصطناعي.
غالبًا ما يتضمن تحسين F1-Score تحسينات متكررة على النموذج والبيانات.