Vah*_*uri 3 python scikit-learn cross-validation oversampling 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)
Run Code Online (Sandbox Code Playgroud)
所有中间步骤应该是转换器并实现拟合和转换,或者是字符串 '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')' (type ) 不
附注。我用得到同样的错误imblearn.over_sampling.RandomOverSampler而非SMOTE。
Sta*_*ieu 14
您应该导入make_pipelinefromimblearn.pipeline而不是 from sklearn.pipeline:make_pipelinefrom sklearn 需要转换器来实现fit和transform方法但SMOTE不实现transform。
| 归档时间: |
|
| 查看次数: |
2848 次 |
| 最近记录: |