web-dev-qa-db-fra.com

Que fait appeler fit () plusieurs fois sur le même modèle?

Après avoir instancié un modèle scikit (par exemple LinearRegression), si j'appelle plusieurs fois sa méthode fit() (avec différentes données X et y), que arrive? Correspond-il au modèle sur les données comme si je venais de réinstancier le modèle (c'est-à-dire à partir de zéro), ou tient-il en compte les données déjà ajustées de l'appel précédent à fit()?

En essayant avec LinearRegression (en regardant également son code source), il me semble que chaque fois que j'appelle fit(), il rentre de zéro, ignorant le résultat de tout appel précédent à la même méthode. Je me demande si cela est vrai en général, et je peux compter sur ce comportement pour tous les modèles/pipelines de scikit learn.

15
Fanta

Si vous exécutez model.fit(X_train, y_train) pour la deuxième fois - il écrasera tous les coefficients, poids, interception (biais) précédemment ajustés, etc.

Si vous souhaitez ajuster une partie de votre ensemble de données, puis améliorer votre modèle en ajustant de nouvelles données, vous pouvez utiliser estimateurs, prenant en charge "l'apprentissage incrémentiel" (ceux qui implémentent partial_fit() méthode)

19
MaxU

Vous pouvez utiliser les termes fit () et train () Word de manière interchangeable dans l'apprentissage automatique. En fonction du modèle de classification que vous avez instancié, peut être une clf = GBNaiveBayes() ou clf = SVC(), votre modèle utilise une technique d'apprentissage automatique spécifiée.
Et dès que vous appelez clf.fit(features_train, label_train) votre modèle commence à s'entraîner en utilisant les caractéristiques et les étiquettes que vous avez passées.

vous pouvez utiliser clf.predict(features_test) pour prédire.
Si vous appelez à nouveau clf.fit(features_train2, label_train2) il recommencera l'entraînement en utilisant les données transmises et supprimera les résultats précédents. Votre modèle réinitialiser le modèle intérieur suivant:

  • Poids
  • Coefficients ajustés
  • Biais
  • Et d'autres choses liées à la formation ...

Vous pouvez également utiliser la méthode partial_fit () si vous voulez que vos données calculées précédentes restent et s'entraînent en utilisant les données suivantes

3
sgrpwr