赞
踩
目录
代码:
- from datasets import load_dataset, load_from_disk
-
- if __name__ == "__main__":
- # 加载数据集
- dataset = load_dataset(path = 'lansinuote/ChnSentiCorp')
- # 保存数据集
- dataset.save_to_disk(dataset_dict_path = './data/ChnSentiCorp')
- # 从本地加载数据集
- dataset = load_from_disk('./data/ChnSentiCorp')
- print(dataset)
输出结果:
- DatasetDict({
- train: Dataset({
- features: ['text', 'label'],
- num_rows: 9600
- })
- validation: Dataset({
- features: ['text', 'label'],
- num_rows: 1200
- })
- test: Dataset({
- features: ['text', 'label'],
- num_rows: 1200
- })
- })
代码:
- from datasets import load_from_disk
-
- if __name__ == "__main__":
- # 从本地加载数据集
- dataset = load_from_disk('./data/ChnSentiCorp')
- # 取出训练集
- dataset = dataset['train']
- print(dataset)
- print(dataset[0]) # 查看单个样本
输出结果:
- Dataset({
- features: ['text', 'label'],
- num_rows: 9600
- })
- {'text': '选择珠江花园的原因就是方便,有电动扶梯直接到达海边,周围餐馆、食廊、商场、超市、摊位一应俱全。酒店装修一般,但还算整洁。 泳池在大堂的屋顶,因此很小,不过女儿倒是喜欢。 包的早餐是西式的,还算丰富。 服务吗,一般', 'label': 1}
代码:
- from datasets import load_from_disk
-
- if __name__ == "__main__":
- # 从本地加载数据集
- dataset = load_from_disk('./data/ChnSentiCorp')
- # 取出训练集
- dataset = dataset['train']
- print(dataset['label'][:10]) # 未排序前是乱序的
-
- # 排序
- sorted_dataset = dataset.sort('label')
- print("sort: ", sorted_dataset['label'][:10])
- print("sort: ", sorted_dataset['label'][-10:])
-
- # 打乱
- shuffled_dataset = sorted_dataset.shuffle(seed = 1) # 设置随机种子打乱
- print("shuffle: ", shuffled_dataset['label'][:10])
输出结果:
- [1, 1, 0, 0, 1, 0, 0, 0, 1, 1]
- sort: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
- sort: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
- shuffle: [0, 1, 0, 0, 0, 0, 0, 1, 0, 1]
代码:
- from datasets import load_dataset, load_from_disk
-
- if __name__ == "__main__":
- # 从本地加载数据集
- dataset = load_from_disk('./data/ChnSentiCorp')
- # 取出训练集
- dataset = dataset['train']
- sel_data = dataset.select([0, 10, 20, 30, 40, 50]) # 根据索引选取数据集
- print(sel_data)
-
- # 筛选数据集
- def f(data):
- return data['text'].startswith('选择') # 筛选以选择开头的
- start_with_ar = dataset.filter(f)
- print(len(start_with_ar))
- print(start_with_ar['text'])
输出结果:
- Dataset({
- features: ['text', 'label'],
- num_rows: 6
- })
- Filter: 100%|█████████████████████████████████████████████████████████████████| 9600/9600 [00:00<00:00, 231601.55 examples/s]
- 2
- ['选择珠江花园的原因就是方便,有电动扶梯直接到达海边,周围餐馆、食廊、商场、超市、摊位一应俱全。酒店装修一般,但还算整洁。 泳池在大堂的屋顶,因此很小,不过女儿倒是喜欢。 包的早餐是西式的,还算丰富。 服务吗,一般', '选择的事例太离奇了,夸大了心理咨询的现实意义,让人失去了信任感!如果说这样写的效果能在一开始抓住读者的眼球,但是看到案例主人公心理问题的原因解释时就逐渐失去了兴趣,反正有点拣了芝麻丢了西瓜的感觉。']
代码:
- from datasets import load_from_disk
-
- if __name__ == "__main__":
- # 从本地加载数据集
- dataset = load_from_disk('./data/ChnSentiCorp')
- # 取出训练集
- dataset = dataset['train']
- print(dataset)
- # 划分数据集
- new_dataset1 = dataset.train_test_split(test_size = 0.1)
- print(new_dataset1)
-
- # 数据集均分到四个桶里,并取第一个桶
- new_dataset2 = dataset.shard(num_shards = 4, index = 0)
- print(new_dataset2)
输出结果:
- # 训练集
- Dataset({
- features: ['text', 'label'],
- num_rows: 9600
- })
- # 训练集按比例划分
- DatasetDict({
- train: Dataset({
- features: ['text', 'label'],
- num_rows: 8640
- })
- test: Dataset({
- features: ['text', 'label'],
- num_rows: 960
- })
- })
- # 第一桶的数据
- Dataset({
- features: ['text', 'label'],
- num_rows: 2400
- })
代码:
- from datasets import load_from_disk
-
- if __name__ == "__main__":
- # 从本地加载数据集
- dataset = load_from_disk('./data/ChnSentiCorp')
- # 取出训练集
- dataset = dataset['train']
- # 修改列名,将text更改为mytext
- new_dataset1 = dataset.rename_column('text', 'mytext')
- print(new_dataset1)
- # 删除列名
- new_dataset2 = dataset.remove_columns(['text'])
- print(new_dataset2)
-
- # 修改数据
- def f(data):
- data['text'] = 'My sentence: ' + data['text'] # 每一个句子都增加前缀
- return data
- datatset_map = dataset.map(f)
- print(datatset_map['text'][:5])
-
- # 修改类型
- dataset.set_format(type = 'torch', columns = ['label'])
- print(dataset[0])
输出结果:
- # 更改列名
- Dataset({
- features: ['mytext', 'label'],
- num_rows: 9600
- })
- # 删除列
- Dataset({
- features: ['label'],
- num_rows: 9600
- })
- # 修改数据
- ['My sentence: 选择珠江花园的原因就是方便,有电动扶梯直接到达海边,周围餐馆、食廊、商场、超市、摊位一应俱全。酒店装修一般,但还算整洁。 泳池在大堂的屋顶,因此很小,不过女儿倒是喜欢。 包的早餐是西式的,还算丰富。 服务吗,一般',
- 'My sentence: 15.4寸笔记本的键盘确实爽,基本跟台式机差不多了,蛮喜欢数字小键盘,输数字特方便,样子也很美观,做工也相当不错',
- 'My sentence: 房间太小。其他的都一般。。。。。。。。。',
- 'My sentence: 1.接电源没有几分钟,电源适配器热的不行. 2.摄像头用不起来. 3.机盖的钢琴漆,手不能摸,一摸一个印. 4.硬盘分区不好办.',
- 'My sentence: 今天才知道这书还有第6卷,真有点郁闷:为什么同一套书有两种版本呢?当当网是不是该跟出版社商量商量,单独出个第6卷,让我们的孩子不会有所遗憾。']
- # 修改类型
- {'label': tensor(1)}
代码:
- from datasets import load_from_disk
-
- if __name__ == "__main__":
- # 从本地加载数据集
- dataset = load_from_disk('./data/ChnSentiCorp')
- # 取出训练集
- dataset = dataset['train']
- # 保存为csv格式
- dataset.to_csv(path_or_buf = './data/ChnSentiCorp.csv')
- # 加载csv格式数据
- csv_dataset = load_dataset(path='csv', data_files='./data/ChnSentiCorp.csv', split='train')
- print(dataset[0])
- print(csv_dataset[0])
-
- # 保存为json格式
- dataset.to_json(path_or_buf = './data/ChnSentiCorp.json')
- # 加载json格式数据
- json_dataset = load_dataset(path='json', data_files='./data/ChnSentiCorp.json', split='train')
- print(dataset[1])
- print(json_dataset[1])
输出结果:
- {'text': '选择珠江花园的原因就是方便,有电动扶梯直接到达海边,周围餐馆、食廊、商场、超市、摊位一应俱全。酒店装修一般,但还算整洁。 泳池在大堂的屋顶,因此很小,不过女儿倒是喜欢。 包的早餐是西式的,还算丰富。 服务吗,一般', 'label': 1}
- {'text': '选择珠江花园的原因就是方便,有电动扶梯直接到达海边,周围餐馆、食廊、商场、超市、摊位一应俱全。酒店装修一般,但还算整洁。 泳池在大堂的屋顶,因此很小,不过女儿倒是喜欢。 包的早餐是西式的,还算丰富。 服务吗,一般', 'label': 1}
-
- {'text': '15.4寸笔记本的键盘确实爽,基本跟台式机差不多了,蛮喜欢数字小键盘,输数字特方便,样子也很美观,做工也相当不错', 'label': 1}
- {'text': '15.4寸笔记本的键盘确实爽,基本跟台式机差不多了,蛮喜欢数字小键盘,输数字特方便,样子也很美观,做工也相当不错', 'label': 1}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。