SMOTE函数在make_pipeline中不起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SMOTE函数在make_pipeline中不起作用相关的知识,希望对你有一定的参考价值。

我想同时应用交叉验证和过采样。我从此代码中收到以下错误:

from sklearn.pipeline import Pipeline, make_pipeline

imba_pipeline = make_pipeline(SMOTE(random_state = 42),Logistic回归(C = 3.4)cross_val_score(imba_pipeline,X_train_tf,y_train,得分='f1加权',cv = kf)

所有中间步骤都应该是转换器并实现拟合和转换,或者是字符串'passthrough''SMOTE(k_neighbors = 5,kind ='deprecated',m_neighbors ='deprecated',n_jobs = 1,out_step =“已弃用”,random_state = 42,ratio = None,sample_strategy ='auto',svm_estimator ='deprecated')'(type)not

PS。使用imblearn.over_sampling.RandomOverSampler而不是SMOTE,我得到了相同的错误

答案

您应该从make_pipeline而不是imblearn.pipeline导入sklearn.pipeline:来自sklearn的make_pipeline需要使用转换器来实现fittransform方法,但是SMOTE不实现transform

以上是关于SMOTE函数在make_pipeline中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

@font-face 在 Firefox 中不起作用 [重复]

AngularJS、SweetAlert.js 在自定义指令中不起作用

使用dwr后,javaweb设置的session超时失效,web.xml和tomcat设置都不起作

SMOTE 函数'下标脱离键'

为啥 lit() 函数在 selectExpr() 中不起作用?

sizeof 函数在函数中不起作用