71 votes

ConvergenceAvertissement: Liblinear n'a pas réussi à converger, augmenter le nombre d'itérations

Exécution du code de motif binaire linéaire pour Adrian. Ce programme s'exécute mais donne l'avertissement suivant:

 C:\Python27\lib\site-packages\sklearn\svm\base.py:922: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.
 "the number of iterations.", ConvergenceWarning

J'utilise python2.7 avec opencv3.7, que dois-je faire?

27voto

Servant Points 634

J'ai atteint le point que j'ai défini, jusqu'à max_iter=1200000 sur mon LinearSVC , mais le "ConvergenceWarning" était toujours présent. Je résout le problème en définissant simplement dual=False et en laissant max_iter à sa valeur par défaut.

Avec le LogisticRegression(solver='lbfgs') , vous devez augmenter max_iter . Les miens ont atteint max_iter=7600 avant que le "ConvergenceWarning" ne disparaisse lors de l'entraînement avec les fonctionnalités d'un grand ensemble de données.

10voto

La spécification explicite de max_iter résout l'avertissement car la valeur par défaut max_iter est 100. [Pour la régression logistique].

  logreg = LogisticRegression(max_iter=1000)

4voto

rishi jain Points 83

Veuillez augmenter max_iter à 10000 car la valeur par défaut est 1000. Eventuellement, en augmentant non. des itérations aideront l'algorithme à converger. Pour moi, il a convergé et le solveur était -'lbfgs '

 log_reg = LogisticRegression(solver='lbfgs',class_weight='balanced', max_iter=10000)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X