流程:
1、数据清洗
2、数据加载
基本步骤
1、Load
2、Split -> (train, validation, test)
3、Vocabulary -> Number -> Padding
4、Batch -> Shuffle
工具
PyTorch
1、使用skitlearn划分数据集
2、使用TorchText加载数据
import torchtext
# 文本数据基本处理
def tokenizer(text):
# 异常字符去除,分词等
return text.split(' ')
# 定义字段
TEXT = torchtext.data.Field(sequential=True,
tokenize=tokenizer, fix_length=20, pad_first=False)
# 数值[有序]
LABEL = torchtext.data.LabelField(sequential=False, use_vocab=False)
# 其他
LABEL = torchtext.data.LabelField(sequential=False, use_vocab=False)
# 加载数据
train_data, val_data = torchtext.data.TabularDataset.splits(
path='/data/', t
rain='train.csv', validation='valid.csv', format='csv',
fields=[
('location', None),
('text', TEXT), ('labels', LABEL)])
# 创建词表
TEXT.build_vocab(train_data)
LABEL.build_vocab(train_data)
# 批量生成数据
train_iter, val_iter = torchtext.data.BucketIterator.splits(
(train_data, val_data),
batch_sizes=(32, 64),
sort_key=lambda x: len(x.text),
shuffle=True)
# 查看数据
batch = next(iter(train_iter))
print(batch.text)
print(batch.labels)