كيفية حساب نقاط f1 في بايثون (بما في ذلك المثال)


عند استخدام نماذج التصنيف في التعلم الآلي، فإن المقياس الشائع الذي نستخدمه لتقييم جودة النموذج هو درجة F1 .

يتم حساب هذا المقياس على النحو التالي:

نتيجة F1 = 2 * (الدقة * الاستدعاء) / (الدقة + الاستدعاء)

ذهب:

  • الدقة : تصحيح التنبؤات الإيجابية مقارنة بإجمالي التوقعات الإيجابية
  • تذكير : تصحيح التوقعات الإيجابية مقابل مجموع الإيجابيات الفعلية

على سبيل المثال، لنفترض أننا نستخدم نموذج الانحدار اللوجستي للتنبؤ بما إذا كان سيتم ضم 400 لاعب كرة سلة جامعي مختلف إلى الدوري الاميركي للمحترفين أم لا.

تلخص مصفوفة الارتباك التالية التنبؤات التي قدمها النموذج:

فيما يلي كيفية حساب درجة F1 للنموذج:

الدقة = إيجابية حقيقية / (إيجابية حقيقية + إيجابية كاذبة) = 120/ (120+70) = 0.63157

الاستدعاء = إيجابي حقيقي / (إيجابي حقيقي + سلبي كاذب) = 120 / (120+40) = 0.75

نتيجة F1 = 2 * (.63157 * .75) / (.63157 + .75) = . 6857

يوضح المثال التالي كيفية حساب درجة F1 لهذا النموذج الدقيق في Python.

مثال: حساب درجة F1 في بايثون

يوضح الكود التالي كيفية استخدام وظيفة f1_score () لحزمة sklearn في Python لحساب درجة F1 لمجموعة معينة من القيم المتوقعة والقيم الفعلية.

 import numpy as np
from sklearn. metrics import f1_score

#define array of actual classes
actual = np. repeat ([1, 0], repeats=[160, 240])

#define array of predicted classes
pred = np. repeat ([1, 0, 1, 0], repeats=[120, 40, 70, 170])

#calculate F1 score
f1_score(actual, pred)

0.6857142857142857

نرى أن نتيجة F1 هي 0.6857 . وهذا يطابق القيمة التي حسبناها يدويًا سابقًا.

ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة f1_score() هنا .

ملاحظات حول استخدام نتائج F1

إذا كنت تستخدم درجة F1 لمقارنة نماذج متعددة، فإن النموذج الحاصل على أعلى درجة F1 يمثل النموذج الأفضل قدرة على تصنيف الملاحظات إلى فئات.

على سبيل المثال، إذا قمت بملاءمة نموذج انحدار لوجستي آخر مع البيانات وكان لهذا النموذج درجة F1 تبلغ 0.75، فسيتم اعتبار هذا النموذج أفضل لأنه يحتوي على درجة F1 أعلى.

مصادر إضافية

كيفية تنفيذ الانحدار اللوجستي في بايثون
كيفية إنشاء مصفوفة الارتباك في بايثون
كيفية حساب الدقة المتوازنة في بايثون
نقاط F1 مقابل الدقة: ما الذي يجب عليك استخدامه؟

Add a Comment

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