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.
jupyter-lab:1.2.6 python:3.7.7 scikit-learn:0.22.1
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