Pass ein dict zu scikit lernen estimator
Ich versuche zu pass-Modell-Parameter als dict zu einem Scikit-learn-Schätzer und habe kein Glück. Es scheint einfach so zu verschachteln, mein dict in einer der Parameter. Zum Beispiel:
params = {
'copy_X': True,
'fit_intercept': False,
'normalize': True
}
lr = LinearRegression(params)
Gibt mir:
LinearRegression(copy_X=True,
fit_intercept={'copy_X': True, 'fit_intercept': False,'normalize': True},
normalize=False)
Zusätzlich habe ich eine Funktion zum iterieren über die dict und können eine Zeichenfolge wie:
'copy_X=True, fit_intercept=True, normalize=False'
Dieser war ebenso erfolglos. Jemand einen Tipp hier? Die einzige Einschränkung die ich habe ist die Daten kommen zu mir wie ein dict (naja, eigentlich ein json-Objekt geladen wird mit json.uploads).
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die beste Lösung initialisieren Sie Ihren Rechner mit den richtigen Parametern wäre zu packen Sie Ihr Wörterbuch:
Wenn aus irgendeinem Grund müssen Sie einige Parameter einstellen hinterher, den Sie verwenden könnten:
Dies ist ein Vorteil gegenüber der Verwendung
setattr
Möglichkeit, Scikit lernen Sie einige Prüfungen auf die Parameter.Habe ich es. Verwendet setattr wie diese.
fit_intercept
ist das erste argument derLinearRegression
Objekthttp://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html
So, dass erklärt, warum Ihre dictionary übergeben wird, um das argument, die anderen Argumente (auch optional)
copy_X
undnormalize
erhalten keine parameter, so sind Sie mit den default-Werten.Könnten Sie auch tun: