我有一个带有大类不平衡问题的多标签分类问题,因此我想使用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/

10-10 16:36