Вот как выглядит мой код:
Код: Выделить всё
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
В настоящее время я еще не работаю над масштабируемостью, поэтому модели определены внутри функции. Но идея заключается в том, чтобы иметь возможность передавать параметры, если у вас есть параметры, то есть вы где-то запустили скрипт, и он выводит набор параметров, которые затем можно плавно передать в эту функцию, где она занимается созданием модели. Но я не хочу, чтобы это была огромная коллекция операторов if, и мне нужно как можно меньше кода, но при этом не экспортировать функциональность, чтобы, когда дело доходит до изменения кода или его обновления, было меньше хлопот.
Достижимо ли это и какое решение является лучшим?
Подробнее здесь: https://stackoverflow.com/questions/798 ... parameters
Мобильная версия