[PYTHON] Über max_iter von LogisticRegression () von scikit-learn

Ursprung

Ich nehme gerade udemys "Maschinelles Lernen mit Python: Eine Einführung in die Identifikation mit Scikit-Learn". Da für jedes Thema in diesem Kurs Beispielcode verteilt wird, bin ich dankbar, dass ich ihn nicht schreiben muss, sondern eine Warnmeldung angezeigt wird.

Umgebung

jupyter-lab:1.2.6 python:3.7.7 scikit-learn:0.22.1

Problembereich

from sklearn import linear_model
clf = linear_model.LogisticRegression()
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import LeaveOneOut
loocv = LeaveOneOut()
scores = cross_val_score(clf, X, y,cv=loocv)

Als ich rannte

ConvergenceWarning: lbfgs failed to converge (status=1):
STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.
Increase the number of iterations (max_iter) or scale the data as shown in:
    https://scikit-learn.org/stable/modules/preprocessing.html
Please also refer to the documentation for alternative solver options:
    https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression
  extra_warning_msg=_LOGISTIC_SOLVER_CONVERGENCE_MSG)

Und Warnung. Darüber hinaus viele Male im Maßstab von Tausenden von Zeilen.

Befolgen Sie die Warnung und verwenden Sie denselben Warnungstext wie LogisticRegression (max_iter = 1000 ^ 4000). Als ich es überprüfte, wurde gesagt, dass es sich wiederholen würde, bis es mit max_iter = -1 konvergiert. Wenn ich also -1 als Argument übergebe und es ausführe, max_iter ärgert sich über eine positive Zahl. Wenn Sie keine andere Wahl haben, als "max_iter = 1000 ^ 5000" zu setzen, wird der Prozess nicht beendet. Wenn jemand anderes es tut, dauert das Lernen weniger als eine Sekunde. Vielleicht stimmt etwas mit meiner Umgebung nicht, aber ich weiß es nicht.

Erstens handelt es sich nicht um eine Fehleranweisung, sondern um eine Warnanweisung. Daher wird möglicherweise wiederholt bis zu der angegebenen Anzahl von Malen gelernt. Es wäre jedoch ein Problem, wenn jedes Mal Tausende von Zeilen mit Warnanweisungen ausgegeben würden. Außerdem sind X und y jeweils weniger als 1 MB groß, und ich habe es mit Google Colab versucht, aber das gleiche Ergebnis wurde erzielt.

Wenn jemand eine Idee hat, würde ich mich freuen, wenn Sie es mir sagen könnten.

Recommended Posts

Über max_iter von LogisticRegression () von scikit-learn
Über die Verarbeitungsgeschwindigkeit von SVM (SVC) von Scikit-Learn
Über alles von numpy
Über die Zuweisung von numpy.ndarray
Über Variable von Chainer
Konsistenz des Scikit-Learn-API-Designs
Über den japanischen Weg von Pyminizip
Über die japanische Unterstützung von Cometchat
Über verschiedene Codierungen von Python 3
Über alle von numpy (2.)
Parallele Verarbeitung mit Parallel von Scikit-Learn
Python: Grundlagen der Verwendung von Scikit-Learn ①
Über die Kostenberechnung von MeCab
Über den ungefähren Bruchteil des Umfangsverhältnisses
Über die Komponenten von Luigi
Über die HOG-Ausgabe von Scikit-Image
Über die Funktionen von Python
Über die Datenverwaltung von Amboss-App-Server
Rastersuche von Hyperparametern mit Scikit-learn
[Übersetzung] scikit-learn 0.18 Tutorial Inhaltsverzeichnis
Installation von scikit-learn (Mac OS X)
Über den Rückgabewert von pthread_mutex_init ()
Über den Rückgabewert des Histogramms.
Über den Grundtyp von Go
Über die Obergrenze von Threads-max
Über die zirkuläre Überkreuzung genetischer Algorithmen
Über das Verhalten von Yield_per von SqlAlchemy
Informationen zum Importfehler von PyQt5.QtWidgets (Anaconda)
Über die Größe der Punkte in Matplotlib
Über die Farbhalbtonverarbeitung von Bildern
Informationen zur Grundlagenliste der Python-Grundlagen