Я работаю над проблемой регрессии и использую регрессию 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
.