So sieht mein Code aus:
Code: Select all
def buildModel(X, y, n, rfParams, knnParams, SVCParams, lrParams, lgbParams, xgbParams):
mod1 = rf(**rfParams)
mod2 = Pipeline([('scaler', StandardScaler()), ('clf', knn(**knnParams))])
mod3 = Pipeline([('scaler', StandardScaler()), ('clf', SVC(**SVCParams))])
mod4 = Pipeline([('scaler', StandardScaler()), ('clf', lr(**lrParams))])
mod5 = lgb.LGBMClassifier(**lgbParams)
mod6 = xgb.XGBClassifier(**xgbParams)
mods = [mod1, mod2, mod3, mod4, mod5, mod6]
mod = ensemble(X, y, mods, n)
return mod
Ich arbeite derzeit noch nicht an der Skalierbarkeit, daher an den in der Funktion definierten Modellen. Die Idee dabei ist jedoch, Parameter übergeben zu können, wenn Sie Parameter haben, d. h. Sie haben irgendwo ein Skript ausgeführt und es gibt eine Reihe von Parametern aus, die Sie dann problemlos an diese Funktion übergeben können, wo sie sich mit der Modellerstellung befasst. Aber ich möchte nicht, dass es sich um eine riesige Sammlung von if-Anweisungen handelt, und ich möchte so wenig Code wie möglich haben, ohne die Funktionalität zu externalisieren, damit es weniger Aufwand gibt, den Code zu ändern oder zu aktualisieren.
Ist das erreichbar und was ist die beste Lösung?
Mobile version