我有一个带有大类不平衡问题的多标签分类问题,因此我想使用SMOTE创建流水线步骤,但是由于X基本上是文本,Y则是上述标签的1和0的数组,所以我可以只需以这种方式插入SMOTE(),因为它既需要拟合又需要变换。
pipeline = Pipeline([
('smote', SMOTE()),
('vect', CountVectorizer()),
('tfidf', TfidfTransformer()),
('ss', StandardScaler(with_mean=False)),
('clf', model),
])
最佳答案
当前版本的不平衡学习带有它自己的pipeline。您应该能够将其合并到sklearn管道中。只需在导入sklearn之后添加此行,并确保它可以覆盖先前导入的sklearn版本的管道,并像使用sklearn管道一样使用它即可。
from imblearn.pipeline import Pipeline
关于python - 当重采样方法不适用于文本时,如何为文本分类创建SMOTE管道步骤?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43599130/