sklearn lda gridsearchcv with pipeline

时间:2017-08-08 04:39:40

标签: scikit-learn grid-search

pipe = Pipeline([('reduce_dim', LinearDiscriminantAnalysis()),('classify', LogisticRegression())])
param_grid = [{'classify__penalty': ['l1', 'l2'],
                 'classify__C': [0.05,0.1, 0.3, 0.6, 0.8, 1.0]}] 

gs = GridSearchCV(pipe, param_grid=param_grid, cv=5, scoring='roc_auc', n_jobs=3)
gs.fit(data, label)

我有使用管道和gridsearchcv的问题。现在我首先尝试使用lda来减少维度,我想知道关于gridsearchcv与管道的过程? 分裂列车/测试 - > lda-> fit&预测或lda->分裂列车/测试 - >适合&预测?

1 个答案:

答案 0 :(得分:0)

第1部分

首先,is_dereferencable定义了您要执行的步骤。

在您的情况下,首先使用Pipeline然后使用LinearDiscriminantAnalysis

第2部分

LogisticRegression

您已定义交叉验证(cv)= 5.

此数字定义折叠次数((分层)KFold),因此您可以将数据自动拆分为5次,然后执行gs = GridSearchCV(pipe, param_grid=param_grid, cv=5, scoring='roc_auc', n_jobs=3) 定义

底线:第一种情况(分组训练/测试 - > lda->拟合和预测)似乎更好但问题与方法有关。