Nachdem Sie fit aufgerufen haben, müssen Sie das gewünschte Modell auswählen, bevor Sie predict
aufrufen. Auf diese Weise ist es nicht wie bei anderen Objekten, die eine Fit-Methode haben. fit
ist in diesem Fall eher wie search
.
Aus meiner Sicht gibt es drei Entscheidungen zu treffen
Für 1 und 2 sind hier die Optionen, die ich mir ausgedacht habe
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()
Für 2 und 3 sind hier die Optionen, die ich mir ausgedacht habe
clf.search()
auto.search()
automl.search()
seacher.search()
clf.run()
auto.run()
automl.run()
seacher.run()
ich denke, ich mag
import evalml
automl = evalml.AutoClassifierSearch()
automl.search()
Meine Begründung ist
evalml.AutoClassifierSearch
ist beschreibend. Es ist eine Suche, kein Klassifikator selbstrun()
ist sehr allgemein.clf
mit Tools wie sklearn.Die Alternative die ich mag ist
import evalml
search = evalml.AutoClassifierSearch()
search.run()
Dies verwendet einen aussagekräftigeren Variablennamen, daher wäre die Verwendung von run()
in Ordnung. Der Vorteil dabei ist, dass in unseren Beispielen nicht der zusätzliche Begriff automl
. Meine Sorge wäre, dass ein Benutzer die Suche benennen könnte, was immer er wollte, und dann ist my_custom_variable_name.run()
nicht sehr beschreibend.
Irgendwelche Gedanken? Irgendwelche Ansätze zur Variablenbenennung, die ich übersehen habe? Selbst Sie denken nicht, dass sie besser sind, können sie genauso gut da draußen lassen, damit wir sie in Betracht ziehen.
Ich mag AutoClassifierSearch()
aus den gleichen Gründen, die Sie oben genannt haben, aber ich bin kein Fan davon, die Variable automl
da sie zu breit erscheint und search
da sie ein Verb ist. Was halten Sie von autosearch.run()
? Jemand hat in unserem Treffen searcher
vorgeschlagen und das funktioniert auch, aber es rollt nicht ganz so schön auf der Zunge.
Ich mag AutoClassifierSearch()
und die Verwendung von search()
da ich zustimme, dass run()
viel zu allgemein sein könnte, wenn der Benutzer seinen eigenen Variablennamen definiert.
Für den empfohlenen Namen der Variablen, die die initialisierte Klasse enthält, bin ich ein Fan von automl
, searcher
oder autosearch
/ autosearcher
über search
, auch wenn wir run()
. (Habe eine kurze Google-Suche durchgeführt und automl
oder aml
für einige andere Bibliotheken da draußen, was es wert ist).
@jeremyliweishih Ich bin search()
verstehe. Ich denke, das Ziel wäre, ein beschreibendes Verb für diese Methode auszuwählen. kannst du klarstellen, was du gesagt hast?
Hoffentlich missverstehe ich das nicht, aber ich glaube @jeremyliweishih sagt search
da der empfohlene Name der Variablen etwas seltsam ist, weil es ein Verb ist... zumindest war das auch das Gefühl, das ich hatte :D
@kmax12 Ich meinte diesen Kommentar zum empfohlenen Namen der Variablen: search = AutoClassifierSearch()
. Zur Verdeutlichung denke ich, dass AutoClassifierSearch()
für den Klassennamen großartig wäre und autosearch
für den Variablennamen funktionieren könnte. autosearch = AutoClassifierSearch()
. Vielleicht könnte auch ein anderer aus drei Buchstaben bestehender Variablenname funktionieren (aml, asc, ats).
@jeremyliweishih ich verstehe jetzt, was du gesagt hast. Ich stimme zu.
Basierend auf dem oben Gesagten denke ich, dass wir alle gerne in AutoClassifierSearch
und AutoRegressorSearch
umbenennen.
Was den Variablennamen angeht, sind wir auch unten
autosearch = AutoClassifierSearch()
automl = AutoClassifierSearch()
aml = AutoClassifierSearch()
Ich persönlich mag automl, da es beschreibend ist. aml
ist ähnlich, wenn Sie wissen, wofür es steht, aber ich glaube nicht, dass es so intuitiv ist. das ist das, was ich in H20 gesehen habe (gibt es andere Bibliotheken?) Ich bin im Allgemeinen kein Fan davon, Variablennamen ohne wirklich guten Grund zu kürzen. Der einzige Vorteil, den ich bei aml
sehe, ist, dass es 3 statt 6 Zeichen hat.
autosearch
ist für mich sinnvoll, da es im Grunde der Klassenname ist. Es ist jedoch länger als automl
und ich bin mir nicht sicher, ob es Klarheit schafft. Wenn wir die Route autosearch
, sollte die Methode meiner Meinung nach run
, da autosearcher = AutoClassifierSearch(); autosearcher.search()
bei der Suche einfach übertrieben erscheint, haha.
Ich sehe also zwei Optionen basierend auf der obigen Konversation
automl = AutoClassifierSearch()
automl.search()
oder
autosearch = AutoClassifierSearch()
autosearch.run()
Ich denke, beides würde funktionieren, aber ich mag .search()
über .run()
!
Ich mag alle Ideen, die du weggeworfen hast. Ich bin ein besonderer Fan von:
automl = AutoClassificationSearch()
automl = AutoRegressionSearch()
automl.search()
Um eine ohnehin schon lange Diskussion nicht mit weiteren Optionen zu verkomplizieren, aber: sollten wir AutoRegressorSearch
oder AutoRegressionSearch
sagen? Ich bin zu letzterem einseitig. Ich höre den Begriff "Regressor" nicht annähernd so oft wie "Regressionsmodell" und ähnlich für die Klassifizierung
Ja, ich stimme zu. Regressor kann sich auch auf die Eingabefunktionen, Variablen usw. beziehen, sodass die Regression besser ist.
Außerdem, wenn AutoClassification und AutoRegression eher dem "automatischen maschinellen Lernen" entsprechen, da maschinelles Lernen, Klassifizierung und Regression allesamt Prozesse sind.
wenn es keinen letzten Widerstand gibt, machen wir mit
automl = AutoClassificationSearch()
automl = AutoRegressionSearch()
automl.search()
Hilfreichster Kommentar
Ja, ich stimme zu. Regressor kann sich auch auf die Eingabefunktionen, Variablen usw. beziehen, sodass die Regression besser ist.
Außerdem, wenn AutoClassification und AutoRegression eher dem "automatischen maschinellen Lernen" entsprechen, da maschinelles Lernen, Klassifizierung und Regression allesamt Prozesse sind.
wenn es keinen letzten Widerstand gibt, machen wir mit