首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何添加SMOTE?

如何添加SMOTE?
EN

Stack Overflow用户
提问于 2021-06-09 02:24:08
回答 1查看 52关注 0票数 0

你好,我有一个很大程度上不平衡的数据集,我正在尝试在使用bert之前合并SMOTE。然而,当我将我的数据分成训练,验证和测试时,我有点困惑,不知道该如何做?因为im使用文本数据,所以它是在标记化之后发生的吗?

代码片段:

代码语言:javascript
复制
def tokenize(df):
    input_ids =  []
    attention_masks =  []
    
    for i, text in enumerate(df["tidy_tweet"]):
        tokens = tokenizer.encode_plus(text, max_length=SEQ_LEN,
                                   truncation=True, padding='max_length',
                                   add_special_tokens=True, return_attention_mask=True,
                                   return_token_type_ids=False, return_tensors='tf')   
         
        input_ids.append(np.asarray(tokens["input_ids"]).reshape(SEQ_LEN,))
        attention_masks.append(np.asarray(tokens["attention_mask"]).reshape(SEQ_LEN,))

    return (np.asarray(input_ids), np.asarray(attention_masks))

train_input_ids, train_attention_masks = tokenize(x_train)
valid_input_ids, valid_attention_masks = tokenize(x_valid)
EN

回答 1

Stack Overflow用户

发布于 2021-06-10 16:59:34

SMOTE是一种通过向输入向量添加一些噪声来增加数据集中样本量的技术。它不能直接应用于文本数据,特别是当文本被表示为相应标记的序列或id时。

然而,它可以应用于句子嵌入或这样的其他表示,其中整个样本表示为实数的向量。但是,据我所知,我从未见过有人将SMOTE应用于文本数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67892624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档