Как создать функцию в обучающем конвейере scikit? - PullRequest
0 голосов
/ 22 января 2019

Я работаю над проблемой регрессии и использую регрессию RandomForest из scikit-learn.Я создал все свои функции в кадре данных под названием X.Я хотел бы создать другую функцию, используя предварительную кластеризацию, и добавить ее к моему фрейму данных.Однако я хотел бы также выполнить GridSearch по количеству кластеров.То есть я хочу изменить количество кластеров (я использую k-means), а затем построить модель.

Вот код, который у меня сейчас есть

from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=10, andom_state=0).fit(X)
X['cluster'] = kmeans.labels_


n_estimators = list(range(20,200,20))

random_grid = {'n_estimators': n_estimators}


rf_model = RandomForestRegressor()

rf_grid = GridSearchCV(estimator = rf_model, param_grid = random_grid,scoring = 'neg_mean_absolute_error',
                           cv = 3, verbose=2, n_jobs = -1)
# Fit the random search model
rf_grid.fit(X, y)

Итак, янеобходимо поместить KMeans и RandomForestRegressor в конвейер, и kmeans должен попробовать разные значения для k и добавить новую функцию к X.Как я могу сделать это, используя pipeline.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...