Python GridSearchCV smote ошибка оптимизации - PullRequest
0 голосов
/ 14 февраля 2020

Может ли кто-нибудь помочь мне с ошибкой, которую я получаю при запуске поиска по сетке. Я не могу решить эту ошибку.

Мой код:

# get feature and label data
feature_data = creditcard_data.loc[:, creditcard_data.columns != 'Class']
label_data = creditcard_data.loc[:, creditcard_data.columns == 'Class']

from imblearn.pipeline import Pipeline
from imblearn.pipeline import make_pipeline
from sklearn.model_selection import GridSearchCV

pipe = make_pipeline(
    SMOTE(),
    LogisticRegression()
)

pipe.get_params().keys()

weights = np.linspace(0.005, 0.05, 10)

gsc = GridSearchCV(estimator=pipe,
                   param_grid={
                       # 'smote__ratio': [{0: int(num_neg), 1: int(num_neg * w) } for w in weights]
                       'smote': weights},
                   scoring='f1',
                   cv=3)

grid_results = gsc.fit(testdf_feature, testdf_label)

print("Best parameters : %s" % grid_result.best_params_)

# Plot the weights vs f1 score
dataz = pd.DataFrame({'score': grid_result.cv_results_['mean_test_score'],
                      'weight': weights})
dataz.plot(x='weight')

Я получаю эту ошибку:

Ошибка типа: Все промежуточные шаги цепочки должны быть оценщиками, которые реализуют fit и transform или fit_resample (но не оба) или быть строкой «passthrough», «0,005» (type) нет)

...