Après avoir appelé fit, vous devez sélectionner le modèle que vous souhaitez utiliser avant d'appeler predict
. De cette façon, ce n'est pas comme les autres objets qui ont une méthode d'ajustement. fit
ressemble plus à search
dans ce cas.
La façon dont je le vois, il y a trois décisions à prendre
Pour 1 et 2, voici les options que j'ai proposées
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()
Pour 2 et 3, voici les options que j'ai proposées
clf.search()
auto.search()
automl.search()
seacher.search()
clf.run()
auto.run()
automl.run()
seacher.run()
je pense que j'aime
import evalml
automl = evalml.AutoClassifierSearch()
automl.search()
Mon raisonnement est
evalml.AutoClassifierSearch
est descriptive. C'est une recherche, pas un classificateur lui-mêmerun()
est très général.clf
avec des outils comme sklearn.L'alternative que j'aime est
import evalml
search = evalml.AutoClassifierSearch()
search.run()
Cela utilise un nom de variable plus descriptif, donc utiliser run()
serait correct. L'avantage est qu'il n'introduit pas le terme supplémentaire automl
dans nos exemples. Mon souci serait qu'un utilisateur puisse rechercher par nom ce qu'il veut et alors my_custom_variable_name.run()
n'est pas très descriptif.
Des pensées? Y a-t-il des approches de nommage de variables que j'ai manquées ? Même si vous ne pensez pas qu'ils sont meilleurs, autant les jeter là-bas pour que nous les examinions.
J'aime AutoClassifierSearch()
pour les mêmes raisons que vous avez indiquées ci-dessus, mais je n'aime pas vraiment appeler la variable automl
car elle semble large et search
car c'est un verbe. Que pensez-vous de autosearch.run()
? Quelqu'un a proposé searcher
lors de notre réunion et cela fonctionne aussi bien, mais cela ne sort pas aussi bien de la langue.
J'aime assez AutoClassifierSearch()
et utiliser search()
car je suis d'accord que run()
pourrait être beaucoup trop générique si l'utilisateur définit son propre nom de variable.
Pour le nom recommandé de la variable qui contient la classe initialisée, je suis fan de automl
, searcher
ou autosearch
/ autosearcher
plus de search
, même si nous avons opté pour run()
. (J'ai fait une brève recherche sur Google et automl
ou aml
apparaît pour d'autres bibliothèques, pour ce que ça vaut).
@jeremyliweishih, je ne suis pas sûr de comprendre votre argument à propos de search()
. Je pense que le but serait de choisir un verbe descriptif pour cette méthode. pouvez-vous préciser ce que vous disiez ?
J'espère que je ne me trompe pas mais je pense que @jeremyliweishih dit search
car le nom recommandé de la variable est un peu bizarre parce que c'est un verbe... du moins, c'était aussi le sentiment que j'ai eu :D
@kmax12 Je voulais dire ce commentaire sur le nom recommandé de la variable : search = AutoClassifierSearch()
. Pour clarifier, je pense que AutoClassifierSearch()
pour le nom de la classe serait génial et que autosearch
pourrait fonctionner pour le nom de la variable. autosearch = AutoClassifierSearch()
. Peut-être qu'un autre nom de variable à trois lettres pourrait également fonctionner (aml, asc, ats).
@jeremyliweishih je comprends ce que vous disiez maintenant. je suis d'accord.
Sur la base de ce qui précède, je pense que nous aimons tous renommer en AutoClassifierSearch
et AutoRegressorSearch
.
En termes de nom de variable, nous sommes également en panne
autosearch = AutoClassifierSearch()
automl = AutoClassifierSearch()
aml = AutoClassifierSearch()
Personnellement, j'aime bien automl car il est descriptif. aml
est similaire si vous savez ce que cela signifie, mais je ne pense pas que ce soit si intuitif. c'est ce que j'ai vu utiliser H20 dans leurs documents (y a-t-il d'autres bibliothèques?) Je ne suis généralement pas un fan de raccourcir les noms de variables sans une très bonne raison. Le seul avantage que je vois à aml
est qu'il fait 3 caractères au lieu de 6.
autosearch
est logique pour moi car il s'agit essentiellement du nom de la classe. cependant, il est plus long que automl
et je ne suis pas sûr que cela ajoute de la clarté. Si nous devions emprunter la voie autosearch
, je pense que la méthode devrait être run
, car autosearcher = AutoClassifierSearch(); autosearcher.search()
semble exagéré sur la recherche haha.
Je vois donc deux options basées sur la convo ci-dessus
automl = AutoClassifierSearch()
automl.search()
ou
autosearch = AutoClassifierSearch()
autosearch.run()
Je pense que l'un ou l'autre fonctionnerait, mais j'aime .search()
sur .run()
!
J'aime toutes les idées que vous avez lancées. Je suis particulièrement fan de :
automl = AutoClassificationSearch()
automl = AutoRegressionSearch()
automl.search()
Pas pour compliquer une discussion déjà longue avec plus d'options, mais : faut-il dire AutoRegressorSearch
ou AutoRegressionSearch
? J'ai un faible pour ce dernier. Je n'entends pas autant le terme "régresseur" que j'entends "modèle de régression", et de même pour la classification
Ouais, je suis d'accord. Le régresseur peut également faire référence aux caractéristiques d'entrée, aux variables, etc., la régression est donc meilleure.
De plus, si l'AutoClassification et l'AutoRegression sont plus analogues à "l'apprentissage automatique", puisque l'apprentissage automatique, la classification et la régression sont tous des processus.
à moins qu'il n'y ait une opposition définitive, nous irons avec
automl = AutoClassificationSearch()
automl = AutoRegressionSearch()
automl.search()
Commentaire le plus utile
Ouais, je suis d'accord. Le régresseur peut également faire référence aux caractéristiques d'entrée, aux variables, etc., la régression est donc meilleure.
De plus, si l'AutoClassification et l'AutoRegression sont plus analogues à "l'apprentissage automatique", puisque l'apprentissage automatique, la classification et la régression sont tous des processus.
à moins qu'il n'y ait une opposition définitive, nous irons avec