管道中的步骤顺序

时间:2020-03-21 12:07:20

标签: machine-learning gridsearchcv imblearn

我正在尝试将SMOTE和GridSearchCV结合在一起。我正在将Startified K-fold对象与名为 my_pipe 的管道一起使用。该管道旨在:

  1. 在每个折叠上部署最小-最大缩放。
  2. 使用SMOTE在当前折叠中对少数族裔进行过度采样。
  3. 在当前折叠上运行logisticregression()。
  4. 将上述步骤放入GridSearchCV中以寻找最佳正则化。
skf = StratifiedKFold(n_splits=4, shuffle = True, random_state = 45)
my_pipe=Pipeline([('minmaxscaler', MinMaxScaler()),('smote',SMOTE()),('logisticregression',LogisticRegression())])
params = {"C":np.logspace(-3,3,7), "penalty":["l1","l2"]}
my_grid={'logisticregression__' + key: params[key] for key in params} 

之后是如下的拟合方法

logistic_clf = GridSearchCV(my_pipe, param_grid = my_grid, cv = skf, scoring='roc_auc',verbose = 0,n_jobs=10,return_train_score=False)
logistic_clf.fit(X_train, y_train)

虽然代码可以正常运行而没有任何错误消息,但我有以下问题。

  1. 缩放比例后跟 SMOTE 正确吗?或者相反吗?
  2. 运行fit方法 lg_clf.predict(X_test)时,如何访问gridserchCV中使用的缩放器?
  3. OR 我应该在进入GridsearchCV()之前运行缩放器吗?

0 个答案:

没有答案