如何在scikit学习管道中创建功能?

时间:2019-01-22 17:40:59

标签: python scikit-learn pipeline

我正在研究回归问题,并且正在使用scikit-learn的RandomForest回归。我已经在名为X的数据框中创建了所有功能。我想使用预集群创建另一个功能,并将其附加到我的数据框中。但是我也想对集群数进行GridSearch。也就是说,我想更改聚类的数量(我正在使用k均值),然后构建模型。

这是我当前拥有的代码

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)

因此,我需要将KMeansRandomForestRegressor放入管道中,并且kmeans应该为k尝试不同的值,并将新功能附加到X。如何使用pipeline来做到这一点。

0 个答案:

没有答案