Evalml: عدم السماح بالاستدعاء كهدف آلي

تم إنشاؤها على ١٠ مارس ٢٠٢٠  ·  5تعليقات  ·  مصدر: alteryx/evalml

مشكلة
النموذج الذي يتنبأ دائمًا بالحق لديه درجة استدعاء مثالية. من خلال السماح لـ automl بالتحسين للتذكر ، فإننا نشجعه على إنتاج نموذج تافه.

مرجع مفيد هنا .

عرض
حذف هدف الاستدعاء.

بشكل عام ، يجب أن نحصر مجموعة أهداف التشغيل الآلي لتكون تلك التي نشعر بأنها ذات قيمة ، وحيث يؤدي تحسين هذه الأهداف إلى إنتاج نماذج جيدة.

أعتقد أنه يجب علينا أيضًا إضافة المزيد من أهداف التصنيف الثنائي. # 457 يتضمن اقتراحًا قد يكون جيدًا للفصول غير المتوازنة.

أسئلة
* هل يمكن تقديم حجة مماثلة من أجل الدقة؟ أم أن هناك قيمة في تحسين ذلك؟
* هل يمكن تقديم حجة مماثلة للدقة (# 294)؟

تضمين التغريدة

enhancement

التعليق الأكثر فائدة

أعتقد أن الدقة والدقة جيدة بمعنى أنها لن تمنحك نموذجًا تافهًا.

لا نريد بالضرورة حذف الاستدعاء كهدف ، لا ينبغي فقط تحسينه في البحث التلقائي. على سبيل المثال ، قد أرغب في التحسين لـ f1 ، ولكن بعد ذلك أرى درجة الاستدعاء الخاصة بي بجانبها

ال 5 كومينتر

أعتقد أن الدقة والدقة جيدة بمعنى أنها لن تمنحك نموذجًا تافهًا.

لا نريد بالضرورة حذف الاستدعاء كهدف ، لا ينبغي فقط تحسينه في البحث التلقائي. على سبيل المثال ، قد أرغب في التحسين لـ f1 ، ولكن بعد ذلك أرى درجة الاستدعاء الخاصة بي بجانبها

@ kmax12 نعم ، حسنًا ، لا نريد حذف الكود الذي يحسب الاسترجاع ، ونريد الاستمرار في دعم استدعاء الحوسبة كدرجة على خط الأنابيب ، لكننا نريد عدم السماح به كهدف تحسين مدعوم في automl.

هذا يذكرني بالمناقشة الجارية حول أساليب التآمر / معلومات التصنيف الثنائي لـ ROC ومصفوفة الارتباك (# 427 ، # 365). هذه ليست مقاييس يمكننا تحسينها في automl ، وهي أيضًا ليست درجات ذات رقم واحد ، ولكن بموجب واجهة برمجة التطبيقات الخاصة بنا ، كانت أسهل طريقة لتحديدها هي إضافتها كمثيلات ObjectiveBase .

لدينا حاليًا عدد من الأشياء التي يمكن حسابها باستخدام خطوط الأنابيب:

  1. التنبؤات
  2. عشرات الوظائف الموضوعية لـ automl
  3. مقاييس التهديف ، بعد automl
  4. رسم البيانات (مثال للتصنيف الثنائي: منحنى ROC ، مصفوفة الارتباك)
  5. أهمية الميزات

أعتقد أننا حتى الآن نحاول استخدام ObjectiveBase لتمثيل 2 و 3 و 4. بمعنى آخر ، نحن نفتقد واجهة برمجة تطبيقات واضحة لتحديد طرق التسجيل وطرق التخطيط ، منفصلة عن عملية التشغيل التلقائي .

أعتقد أن الخطوة التالية هنا يجب أن تكون تصميم واجهات برمجة التطبيقات تلك. يبدو أنني قدمت ذلك بالفعل كـ # 392. سوف أقوم بتحديث هذه التذكرة ليتم حظرها على ذلك.

بالنسبة إلى إعادة صياغة واجهة برمجة التطبيقات للأهداف في الوقت الحالي ، قمنا بنقل ROC و Confusion Matrix إلى PlotMetrics بدلاً من ذلك (تم إجراء تصميم أقل في هذا ، وكانت هذه هي الطريقة الأسهل لفصل هذين الهدفين عن بقية الأهداف بدون كسر الأشياء). لقد أضفنا أيضًا can_optimize_threshold كسمة لـ BinaryClassificationObjective ، لذلك إذا تم استدعاء fit () بهدف مع can_optimize_threshold=True ، فإننا نقوم بالتحسين لهذا الهدف ، وإلا فإننا نقوم بالتحسين من أجل دقة. أفكار حول هذا وكيف يمكن أن يتوافق هذا مع بعض الأسئلة المطروحة هنا؟ هل سيكون من غير الواضح ما إذا كان المستخدم يسمى fit عند الاستدعاء ولكن بدلاً من ذلك قمنا بتحسين الدقة بدلاً من ذلك؟

@ angela97lin نعم ، أعتقد أن إخراج ROC / الارتباك من ObjectiveBase كان خطوة إيجابية! أعتقد أن رقم 392 يجب أن يتتبع المضي قدمًا. دعنا نواصل المحادثة حول كيفية تحديث API على # 392 بدلاً من ذلك. بهذه الطريقة ، يمكن لهذه المشكلة فقط تتبع استدعاء التحديث بمجرد اتخاذ قرار بشأن كيفية التعامل مع هذه الأشياء بشكل عام.

أعتقد أيضًا أن تحسين عتبة التصنيف الثنائي هو موضوع منفصل ، والحمد لله أن عملك الجاري في # 346 يتعامل مع 100٪!

تلخيص المناقشة مع eccabay و jeremyliweishih سابقًا: خيارات دعم هذا هي:

  • حذف أهداف الاستدعاء بالكامل.
  • احذف إدخالات أهداف الاستدعاء في objectives/utils.py OPTIONS ، وتأكد من عدم السماح بهذه الأهداف في automl.
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات