بعد استدعاء fit ، تحتاج إلى تحديد الطراز الذي تريد استخدامه قبل استدعاء predict
. بهذه الطريقة ، ليس مثل الكائنات الأخرى التي لها طريقة مناسبة. fit
يشبه search
في هذه الحالة.
بالطريقة التي أراها ، هناك ثلاثة قرارات يجب اتخاذها
بالنسبة إلى 1 و 2 ، إليك الخيارات التي توصلت إليها
import evalml
clf = evalml.AutoClassifierSearch()
auto = evalml.AutoClassifierSearch()
automl = evalml.AutoClassifierSearch()
seacher = evalml.AutoClassifierSearch()
clf = evalml.AutoClassifier()
auto = evalml.AutoClassifier()
automl = evalml.AutoClassifier()
seacher = evalml.AutoClassifier()
بالنسبة إلى 2 و 3 ، ها هي الخيارات التي توصلت إليها
clf.search()
auto.search()
automl.search()
seacher.search()
clf.run()
auto.run()
automl.run()
seacher.run()
أعتقد أنني أحب
import evalml
automl = evalml.AutoClassifierSearch()
automl.search()
المنطق هو
evalml.AutoClassifierSearch
وصفية. إنه بحث وليس مصنف بحد ذاتهrun()
عام جدًا.clf
مع أدوات مثل sklearn.البديل الذي يعجبني هو
import evalml
search = evalml.AutoClassifierSearch()
search.run()
يستخدم هذا اسم متغير وصفي أكثر ، لذا فإن استخدام run()
سيكون مقبولاً. المحترف في ذلك هو أنه لا يقدم المصطلح الإضافي automl
لأمثلةنا. ما يقلقني هو أن المستخدم يمكنه تسمية البحث بكل ما يريد ، ثم لا يكون my_custom_variable_name.run()
وصفيًا للغاية.
أي أفكار؟ أي أساليب تسمية متغيرة فاتني؟ حتى إذا كنت لا تعتقد أنهم أفضل ، فقد يرمونهم هناك أيضًا لكي نفكر فيها.
أحب AutoClassifierSearch()
للأسباب نفسها التي ذكرتها أعلاه ولكني لست معجبًا تمامًا باستدعاء المتغير automl
كما يبدو أنه واسع و search
لأنه فعل. ما رأيك في autosearch.run()
؟ اقترح شخص ما searcher
في اجتماعنا وهذا يعمل أيضًا ولكنه لا يتدحرج بشكل جيد تمامًا.
أنا أحب AutoClassifierSearch()
وباستخدام search()
لأنني أوافق على أن run()
يمكن أن يكون عامًا جدًا إذا حدد المستخدم اسم المتغير الخاص به.
بالنسبة للاسم الموصى به للمتغير الذي يحمل الفئة التي تمت تهيئتها ، فأنا معجب بـ automl
أو searcher
أو autosearch
/ autosearcher
أكثر من search
، حتى لو ذهبنا بـ run()
. (أجرى بحثًا موجزًا على google و automl
أو aml
ينبثق في بعض المكتبات الأخرى هناك ، لما قيمته).
jeremyliweishih أنا لست متأكدًا من أنني أفهم وجهة نظرك حول search()
. أعتقد أن الهدف سيكون اختيار فعل وصفي لتلك الطريقة. هل يمكنك توضيح ما كنت تقوله؟
آمل ألا أفهم سوء فهم لكني أعتقد أن jeremyliweishih يقول search
لأن الاسم الموصى به للمتغير غريب بعض الشيء لأنه فعل ... على الأقل ، كان هذا أيضًا الشعور الذي شعرت به: D
@ kmax12 قصدت ذلك التعليق حول الاسم الموصى به للمتغير: search = AutoClassifierSearch()
. للتوضيح أعتقد أن AutoClassifierSearch()
لاسم الفصل سيكون رائعًا ويمكن أن يعمل autosearch
لاسم المتغير. autosearch = AutoClassifierSearch()
. ربما يمكن أن يعمل اسم متغير آخر مكون من ثلاثة أحرف أيضًا (aml ، asc ، ats).
jeremyliweishih أنا أفهم ما كنت تقوله الآن. أنا موافق.
بناءً على ما سبق ، أعتقد أننا جميعًا نحب إعادة التسمية إلى AutoClassifierSearch
و AutoRegressorSearch
.
من حيث اسم المتغير ، نحن أيضًا في الأسفل
autosearch = AutoClassifierSearch()
automl = AutoClassifierSearch()
aml = AutoClassifierSearch()
أنا شخصياً أحب automl لأنه وصفي. aml
مشابه إذا كنت تعرف ما يمثله ، لكنني لا أعتقد أنه بهذه السهولة. هذا ما رأيته يستخدمه H20 في مستنداتهم (هل توجد مكتبات أخرى؟) أنا عمومًا لست معجبًا بتقصير أسماء المتغيرات دون سبب وجيه حقًا. الميزة الوحيدة التي أراها لـ aml
هي أنها تتكون من 3 أحرف بدلاً من 6.
autosearch
أمر منطقي بالنسبة لي لأنه اسم الفصل في الأساس. ومع ذلك ، فهو أطول من automl
ولست متأكدًا من أنه يضيف وضوحًا. إذا كنا سنذهب إلى المسار autosearch
، أعتقد أن الطريقة يجب أن تكون run
، نظرًا لأن autosearcher = AutoClassifierSearch(); autosearcher.search()
يبدو وكأنه مبالغة في البحث.
لذلك أرى خيارين بناءً على التحويل أعلاه
automl = AutoClassifierSearch()
automl.search()
أو
autosearch = AutoClassifierSearch()
autosearch.run()
أعتقد أن أيًا منهما سيعمل ولكني أحب .search()
أكثر من .run()
!
أنا أحب كل الأفكار التي طرحتموها. أنا معجب بشكل خاص بـ:
automl = AutoClassificationSearch()
automl = AutoRegressionSearch()
automl.search()
ليس لتعقيد مناقشة مطولة بالفعل مع المزيد من الخيارات ، ولكن: هل يجب أن نقول AutoRegressorSearch
أو AutoRegressionSearch
؟ أنا متحيز لهذا الأخير. لا أسمع مصطلح "الانحدار" بقدر ما أسمع "نموذج الانحدار" ، وبالمثل بالنسبة للتصنيف
نعم ، أوافق. يمكن أن يشير Regressor أيضًا إلى ميزات الإدخال والمتغيرات وما إلى ذلك ، لذا فإن الانحدار أفضل.
بالإضافة إلى ذلك ، إذا كان التصنيف التلقائي والانحدار التلقائي أكثر تشابهًا مع "التعلم الآلي الآلي" ، نظرًا لأن التعلم الآلي والتصنيف والانحدار كلها عمليات.
ما لم يكن هناك أي معارضة نهائية ، سنذهب معها
automl = AutoClassificationSearch()
automl = AutoRegressionSearch()
automl.search()
التعليق الأكثر فائدة
نعم ، أوافق. يمكن أن يشير Regressor أيضًا إلى ميزات الإدخال والمتغيرات وما إلى ذلك ، لذا فإن الانحدار أفضل.
بالإضافة إلى ذلك ، إذا كان التصنيف التلقائي والانحدار التلقائي أكثر تشابهًا مع "التعلم الآلي الآلي" ، نظرًا لأن التعلم الآلي والتصنيف والانحدار كلها عمليات.
ما لم يكن هناك أي معارضة نهائية ، سنذهب معها