Par données entières, je veux dire train + test + validation
Une fois que j'ai corrigé mon hyperparamètre à l'aide des données de validation et choisi le modèle à l'aide des données de test, ne vaudra-t-il pas mieux avoir un modèle formé sur l'ensemble des données afin que les paramètres soient mieux formés plutôt que d'avoir le modèle formé uniquement données de train
machine-learning
Apoorva Abhishekh
la source
la source
Réponses:
La question est sous une mauvaise hypothèse. Beaucoup de gens font ce que vous dites qu'ils "ne peuvent pas" faire.
En fait, l' implémentation de la recherche de grille dans le package sklearn largement déployé fait exactement cela. À moins
refit=False
qu'il ne recycle le modèle final en utilisant la totalité des données.Je pense que pour certains hyperparamètres, cela pourrait ne pas être très souhaitable, car ils sont relatifs au volume de données. Par exemple, considérez la
min_samples_leaf
tactique de pré-élagage pour un arbre de décision . Si vous avez plus de données, la pré-élagage peut ne pas fonctionner comme vous le souhaitez.Mais encore une fois, la plupart des gens se recyclent en fait en utilisant toutes les données après la validation croisée, afin de se retrouver avec le meilleur modèle possible.
Addendum: @NeilSlater dit ci-dessous que certaines personnes effectuent un hold-up sur le CV. En d'autres termes, ils ont une division de test de train et effectuent ensuite la sélection de modèle sur la formation. Selon lui, ils se réentraînent en utilisant le groupe de formation d'origine divisé, mais pas le groupe de test. L'ensemble de test est ensuite utilisé pour effectuer une estimation finale du modèle. Personnellement, je vois trois défauts à ce sujet: (a) cela ne résout pas le problème que j'ai mentionné avec certains hyperparamètres dépendant du volume de formation puisque vous vous ré-entraînez de toute façon, (b) lors du test de nombreux modèles, je préfère plus sophistiqué des méthodes telles que la validation croisée imbriquée pour qu'aucune donnée ne soit gaspillée, et (c) la rétention est une méthode affreuse pour déduire comment un modèle généralisera lorsque vous aurez peu de données.
la source
refit
option de la fonction GridSearchCV. Il ne réajuste pas pour inclure les données de test retenues (il n'a même pas la possibilité de voir ces données).Oui, vous pouvez.
Comme les données de test sont censées provenir d'une distribution similaire pour former les données, vous ne casserez pas votre modèle. Si vous avez correctement formé le modèle, vous ne remarquerez aucun changement significatif (sauf une meilleure métrique de précision sur les données de test / validation précédentes).
Mais il est rarement vrai que les données de test proviennent précisément de la même distribution que les données de train, donc dans un scénario d'application réel, vous pouvez obtenir une meilleure généralisation de votre modèle.
la source
La réponse à cette question dépend de l'algorithme de formation (technologie) que vous utilisez. Par exemple, j'ai vu certaines approches dans la classification d'ensemble où des ensembles de formation et de validation (mais pas de test) sont combinés à la fin. Il est très important de savoir que même la validation est principalement utilisée pour décider des hyperparamètres. Certains de ces hyperparamètres peuvent être fonction des données utilisées pour la formation. Par exemple, dans la validation DNN, nous savions quand s'arrêter, car le sur-ajustement peut se produire à la suite du réglage continu des paramètres (poids) du réseau, nous avons besoin d'un moyen de savoir quand s'arrêter. Sans l'ensemble de validation, vous marcherez aveuglément dans le processus de formation. En revanche, si vous utilisez exactement le même nombre d'itérations que spécifié précédemment, il y a une forte probabilité que vous ne gagniez pas à partir de ces échantillons supplémentaires. Le kit de test ne doit pas être touché du tout, comme indiqué ci-dessus sans le kit de test, vous n'aurez aucune méthode pour évaluer votre modèle. C'est du jeu, vous NE POUVEZ PAS livrer de modèle ou de solution sans l'estimation de sa précision sur la véritable distribution des données (qui est représentée par les données de test).
la source