2017-07-03 3 views
0

Ich verwende sklearn, um ein Modell zu trainieren. Der Zug dataset ist ungefähr 3000k, so verwende ich SGDClassifier. Das Feature ist nicht sehr gut, also weiß ich, dass es nicht konvergieren kann. Aber ich möchte SGDClassifier früh nach meiner Einstellung wie max_iter = 1000 stoppen. Soweit es mich betrifft, hat die Funktion SGDClassifier keinen Parameter wie max_iter. Wie kann ich es tun? Dies ist der Code. enter image description heresklearn SGDClassifier kann nicht stoppen

Dies ist die Druckinformation. enter image description here

Jede mögliche Hilfe geschätzt wird ...

+0

Die Standard-Wechselwirkungen auf für SGDClassifier 5 ist, gesteuert durch 'n_iter' param. Wie lange läuft dein Modell? –

+1

Hallo, willkommen bei SO! Bitte [Beitragstext, keine Screenshots] (http://meta.stackoverflow.com/a/285557/3005167). Sie können auch lesen [wie man fragt] (http://stackoverflow.com/help/how-to-ask) und [minimales, vollständiges und verifizierbares Beispiel] (http://stackoverflow.com/help/mcve). Viel Glück! – kazemakase

+0

Es läuft seit etwa 20 Stunden. – chenzhixing

Antwort

0

Das ist seltsam, die standardmäßig in Scikit-Learn 0.18.2, n_iter wird auf 5 Epochen. Können Sie Ihre Frage bitte mit einem Skript aktualisieren, das es ermöglicht, das Verhalten mithilfe eines Spielzeug-Datasets (z. B. generiert mit numpy.random.randn oder ähnlichem) zu reproduzieren.

anzumerken, dass in Scikit-Learn-Master und 0,19 einmal freigesetzt, wird n_iter veraltet und durch max_iter und ein tol (beispielsweise bis 1e-3 eingestellt ist) ersetzt werden, um automatisch zu stoppen, wenn die Zielfunktion nicht mehr Fortschritte.

0

Die 20 Stunden laufen könnte nicht so seltsam sein, da Sie einen Datensatz von 3000k haben und Sie verwenden SGDClassifier, die langsam ist. Welchen Prozessor hast du?

Versuchen Sie es zu stoppen, indem Sie STRG + C verwenden, wenn Sie sich in Windows befinden. Verwenden Sie dann n_iter, um die Anzahl der gewünschten Iterationen zu steuern. Der Standardwert ist 5 jedoch.

Schließlich, wenn Sie ein Modell speichern möchten sehen hier:

Save and Load Machine Learning Models in Python with scikit-learn

Verwandte Themen