我希望同时应用交叉验证和过采样。 我从这段代码中得到以下错误:
所有中间步骤都应该是转换器,实现fit和transform或者是字符串'passthrough'。'SMOTE(k_neighbors=5, kind='deprecated', m_neighbors='deprecated', n_jobs=1, out_step='deprecated', random_state=42, ratio=None, sampling_strategy='auto', svm_estimator='deprecated')'(类型)不行。 PS. 我使用imblearn.over_sampling.RandomOverSampler而不是SMOTE时也出现了相同的错误。
from sklearn.pipeline import Pipeline, make_pipeline
imba_pipeline = make_pipeline(SMOTE(random_state=42),
LogisticRegression(C=3.4))
cross_val_score(imba_pipeline, X_train_tf, y_train, scoring='f1-weighted', cv=kf)
所有中间步骤都应该是转换器,实现fit和transform或者是字符串'passthrough'。'SMOTE(k_neighbors=5, kind='deprecated', m_neighbors='deprecated', n_jobs=1, out_step='deprecated', random_state=42, ratio=None, sampling_strategy='auto', svm_estimator='deprecated')'(类型)不行。 PS. 我使用imblearn.over_sampling.RandomOverSampler而不是SMOTE时也出现了相同的错误。