from imblearn.pipeline import Pipeline
from imblearn.over_sampling import SMOTE
smt = SMOTE(random_state=0)
pipeline_rf_smt_fs = Pipeline(
(
('preprocess',preprocessor),
('selector', SelectKBest(mutual_info_classif, k=30)),
('smote',smt),
('rf_classifier',RandomForestClassifier(n_estimators=600, random_state =2021))
)
)
i am getting below error:
All intermediate steps should be transformers and implement fit and transform or be the string ‘passthrough’ ‘SMOTE(random_state=0)’ (type <class ‘imblearn.over_sampling._smote.SMOTE’>) doesn’t
I believe smote has to be use post feature selection process. Any help on this would be very helpful.