اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

كلاهما لديه غرض مختلف فالعامل scoring يحدد كيفية تقييم أداء النموذج أثناء التحقق المتقاطع يمكنك تعيينه كسلسلة مثلا 'accuracy' أو 'f1' أو كدالة مخصصة وهنا يخبر GridSearchCV بالمقياس الذي يجب استخدامه لمقارنة تركيبات المعاملات المختلفة.

في حين أنّ refit يتحكم فيما إذا كان سيتم إعادة تدريب ال estimator على مجموعة البيانات الكاملة بعد إيجاد أفضل المعاملات فعند تعيينه إلى True يقوم GridSearchCV بعد التحقق المتقاطع بإعادة تدريب النموذج باستخدام أفضل المعاملات التي تم العثور عليها على كامل بيانات التدريب، ويصبح النموذج النهائي متاحا عبر best_estimator_.

إذا استخدمت عدة مقاييس عن طريق تمرير قاموس إلى scoring، يمكنك تعيين refit إلى مفتاح محدد للدلالة على المقياس الذي يجب استخدامه لاختيار أفضل نموذج.

أما إذا تم تعيين refit إلى False، فلن يتم تدريب النموذج النهائي على مجموعة البيانات الكاملة، وستقتصر النتائج على نتائج التحقق المتقاطع أي أنّ scoring يتعلق بكيفية قياس أداء النموذج أثناء البحث، بينما يتعلق refit بما يجب القيام به بعد تحديد أفضل المعاملات.

  • 0
نشر

وعليكم السلام ورحمة الله وبركاته.

الفرق بين scoring و refit يتعلق بكيفية تقييم النموذج واختياره :

حيث التقييم (Scoring) هو المعيار الذي يستخدمه GridSearchCV لتقييم جودة النماذج أثناء البحث عبر شبكة المعاملات (hyperparameter tuning) . حيث يمكنك تحديد معايير مختلفة مثل دقة النموذج accuracy أو f1-score أو أي مقياس آخر حسب الحاجة.

و في كل مرة يقوم فيها GridSearchCV بتجربة مجموعة من المعاملات يقوم بتقييم أداء النموذج باستخدام المقياس الذي تم تحديده في scoring.

أما إعادة التكييف (Refit) تعني أنه بعد إتمام البحث عن أفضل مجموعة من المعاملات (hyperparameters) سيقوم GridSearchCV بإعادة تدريب النموذج باستخدام أفضل المعاملات التي تم العثور عليها على كامل مجموعة البيانات.

فإذا قمت بتعيين refit=True فإن GridSearchCV سيعيد تدريب النموذج باستخدام أفضل المعاملات بعد إتمام عملية البحث. أما إذا كان refit مضبوطا على False فإن GridSearchCV لن يعيد تدريب النموذج بعد البحث، بل سيحتفظ فقط بأفضل المعاملات التي تم العثور عليها.

  • 0
نشر

وعليكم السلام ورحمة الله وبركاته.

scoring" و "refit" لكن لكل منهما دور مختلف كالتالي:

أولاً  ال scoring يُحدد المقياس أو المقاييس المستخدمة لتقييم أداء النماذج المختلفة خلال البحث عن أفضل المعلمات. مثل 'accuracy' أو  'f1' أو  'roc_auc'
بينما ال  refitهو معامل ذو قمية منطقية (True/False) تحدد ما إذا كان سيتم إعادة تدريب النموذج باستخدام أفضل المعلمات وفقاً لل scoring.
إذا كانت `refit=True` (القيمة الافتراضية)، فسيتم إعادة تدريب النموذج على مجموعة البيانات الكاملة باستخدام أفضل المعلمات وبالنسبة ل False فهي العكس تماماً.
 

  • 0
نشر (معدل)

لفرق بين scoring و refit في GridSearchCV

في GridSearchCV من مكتبة Scikit-Learn، يتم استخدام كل من scoring و refit ولكن لكل منهما وظيفة مختلفة:

scoring: تحديد معيار التقييم

  • يحدد طريقة تقييم النماذج أثناء البحث عن أفضل المعلمات (hyperparameters).
  • يمكن أن يكون مقياس دقة (accuracy) أو متوسط خطأ (neg_mean_squared_error) أو F1-score أو أي مقياس آخر.

يقبل إما:

  1. مقياسًا جاهزًا مثل "accuracy", "f1", "roc_auc"...
  2. دالة مخصصة يقوم المستخدم بتحديدها.

مثال:

اقتباس

from sklearn.model_selection import GridSearchCV from sklearn.svm import SVC param_grid = {'C': [0.1, 1, 10], 'kernel': ['linear', 'rbf']} grid = GridSearchCV(SVC(), param_grid, scoring='accuracy', cv=5)

📌 هنا يتم اختيار النموذج بناءً على أعلى قيمة لمقياس accuracy.

--------------------------------------------------------------------------------

refit: إعادة تدريب النموذج الأفضل

  • عند ضبطه على True (وهو الافتراضي)، يقوم GridSearchCV بإعادة تدريب النموذج باستخدام أفضل المعلمات التي تم العثور عليها على جميع البيانات.
  • يمكن تعيينه على مقياس معين إذا كنت تستخدم أكثر من مقياس في scoring.

مثال مع refit محدد لمقياس معين:

اقتباس

grid = GridSearchCV(SVC(), param_grid, scoring=['accuracy', 'roc_auc'], refit='roc_auc', cv=5)

هنا يتم اختيار أفضل نموذج بناءً على roc_auc، حتى لو كانت هناك مقاييس أخرى.

--------------------------------------------------------------------------------

الخلاصة:

  • إذا كنت تريد فقط تقييم النماذج، استخدم scoring
  • إذا كنت تريد إعادة تدريب النموذج الأفضل، استخدم refit
تم التعديل في بواسطة Abdulrahman Muhammad
بعض التعديلات في التنسيق لرؤية وتوضيح أفضل
  • 0
نشر
بتاريخ 3 ساعة قال Abdulrahman Muhammad:

لفرق بين scoring و refit في GridSearchCV

في GridSearchCV من مكتبة Scikit-Learn، يتم استخدام كل من scoring و refit ولكن لكل منهما وظيفة مختلفة:

scoring: تحديد معيار التقييم

  • يحدد طريقة تقييم النماذج أثناء البحث عن أفضل المعلمات (hyperparameters).
  • يمكن أن يكون مقياس دقة (accuracy) أو متوسط خطأ (neg_mean_squared_error) أو F1-score أو أي مقياس آخر.

يقبل إما:

  1. مقياسًا جاهزًا مثل "accuracy", "f1", "roc_auc"...
  2. دالة مخصصة يقوم المستخدم بتحديدها.

مثال:

📌 هنا يتم اختيار النموذج بناءً على أعلى قيمة لمقياس accuracy.

--------------------------------------------------------------------------------

refit: إعادة تدريب النموذج الأفضل

  • عند ضبطه على True (وهو الافتراضي)، يقوم GridSearchCV بإعادة تدريب النموذج باستخدام أفضل المعلمات التي تم العثور عليها على جميع البيانات.
  • يمكن تعيينه على مقياس معين إذا كنت تستخدم أكثر من مقياس في scoring.

مثال مع refit محدد لمقياس معين:

هنا يتم اختيار أفضل نموذج بناءً على roc_auc، حتى لو كانت هناك مقاييس أخرى.

--------------------------------------------------------------------------------

الخلاصة:

  • إذا كنت تريد فقط تقييم النماذج، استخدم scoring
  • إذا كنت تريد إعادة تدريب النموذج الأفضل، استخدم refit

الف شكراا جدا لحضرتك

جزاك الله كل خير

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...