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->分裂列车/测试 - >适合&预测?
答案 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->拟合和预测)似乎更好但问题与方法有关。