HuggingFace学习笔记--datasets的使用

目录

1--datasets的使用

1-1--加载数据集

1-2--查看数据集

1-3--打乱和排序数据集

1-4--选择和筛选数据集

1-5--划分数据集

1-6--修改数据集

1-7--导出数据集


1--datasets的使用

1-1--加载数据集

代码:

from datasets import load_dataset, load_from_diskif __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})
})

1-2--查看数据集

代码:

from datasets import load_from_diskif __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}

1-3--打乱和排序数据集

代码:

from datasets import load_from_diskif __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]

1-4--选择和筛选数据集

代码:

from datasets import load_dataset, load_from_diskif __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
['选择珠江花园的原因就是方便,有电动扶梯直接到达海边,周围餐馆、食廊、商场、超市、摊位一应俱全。酒店装修一般,但还算整洁。 泳池在大堂的屋顶,因此很小,不过女儿倒是喜欢。 包的早餐是西式的,还算丰富。 服务吗,一般', '选择的事例太离奇了,夸大了心理咨询的现实意义,让人失去了信任感!如果说这样写的效果能在一开始抓住读者的眼球,但是看到案例主人公心理问题的原因解释时就逐渐失去了兴趣,反正有点拣了芝麻丢了西瓜的感觉。']

1-5--划分数据集

代码:

from datasets import load_from_diskif __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
})

1-6--修改数据集

代码:

from datasets import load_from_diskif __name__ == "__main__":# 从本地加载数据集dataset = load_from_disk('./data/ChnSentiCorp')# 取出训练集dataset = dataset['train']# 修改列名,将text更改为mytextnew_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 datadatatset_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)}

1-7--导出数据集

代码:

from datasets import load_from_diskif __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}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/175150.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#中的TaskFactory

在C#中&#xff0c;TaskFactory是一个用于创建异步任务的类。它提供了一种方便的方式来创建Task对象&#xff0c;这些对象表示可以异步执行的操作。TaskFactory类位于System.Threading.Tasks命名空间下。 要使用TaskFactory&#xff0c;您需要导入相应的命名空间&#xff1a; …

uni-app+vue3 封装全局函数(详细完整的方法)

在uni-app和vue3中&#xff0c;我们可以封装全局函数来复用代码。以下是详细的步骤&#xff1a; 首先&#xff0c;我们需要在main.js文件中引入我们封装的全局函数。这样我们就可以在整个项目中使用这些函数。 import globalFunctions from ./globalFunctionsVue.prototype.$g…

Vue简易的车牌输入键盘,可以根据需要修改

效果图如下&#xff1a; 代码如下&#xff1a; <template><div><div class"carNoBoxInput"><div style"padding: 6px;border: 2px solid #fff;border-radius: 6px;margin: 6px 3px 6px 6px;"><input class"inputBox"…

小航助学题库蓝桥杯题库stem选拔赛(23年8月)(含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统&#xff08;含题库答题软件账号&#xff09;_程序猿下山的博客-CSDN博客 需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统&#xff08;含题库答题软件账号&#xff09;_程序猿下山的博客-CSD…

利用ambari搭建Hbase高可用

初始环境&#xff1a; 节点名称服务名ambari-hadoop1ambari-hadoop2region serverambari-hadoop3hmater、 region server 计划为ambari-hadoop1添加hmaster&#xff0c;以避免hmaster的单点故障、 step1&#xff1a;添加备用Hmaster step2&#xff1a;选择ambari-hadoop1作为…

【一周AI简讯】OpenAI奥特曼王者归来,马斯克AI模型Grok下周开放测试,ChatGPT语音对话功能向所有用户免费开放

OpenAI奥特曼王者归来&#xff0c;董事会改组 终于&#xff0c;经历大约5天的极限拉扯&#xff0c;年底AI界吃瓜大戏落下帷幕&#xff0c;奥特曼确认回归。 ChatGPT语音对话功能向所有用户免费开放 ChatGPT 语音输入最初于 9 月份推出&#xff0c;标题是“ChatGPT 现在可以看…

尚硅谷大数据项目《在线教育之实时数仓》笔记008

视频地址&#xff1a;尚硅谷大数据项目《在线教育之实时数仓》_哔哩哔哩_bilibili 目录 第10章 数仓开发之DWS层 P066 P067 P068 P069 P070 P071 P072 P073 P074 P075 P076 P077 P078 P079 P080 P081 P082 第10章 数仓开发之DWS层 P066 第10章 数仓开发之DW…

消失的数字,旋转数组(leetcode 一题多解)

目录 一、消失的数字 思路一&#xff08;暴力求解&#xff09;代码实现&#xff1a; 思路二&#xff08;数列的思想&#xff09;代码实现&#xff1a; 思路三&#xff08;异或的运用&#xff09;代码实现&#xff1a; 二、轮转数组 思路一&#xff08;暴力求解&#xff09…

Vue3 + Scss 实现主题切换效果

Vue3 Scss 实现主题切换效果 先给大家看一下主题切换的效果&#xff1a; 像这样的效果实现起来并不难&#xff0c;只是比较麻烦&#xff0c;目前我知道的有两种方式可以实现&#xff0c;分别是 CSS 变量、样式文件切换&#xff0c;下面是该效果的核心实现方法 CSS变量 给…

电脑如何定时关机?

电脑如何定时关机&#xff1f;我承认自己是个相当粗心的人&#xff0c;尤其是在急于离开时经常会忘记关闭电脑&#xff0c;结果就是电量耗尽&#xff0c;导致电脑自动关机。而且&#xff0c;在我使用电脑的时候&#xff0c;经常需要进行软件下载、更新等任务。如果我一直坐等任…

设计模式—迪米特原则(LOD)

1.背景 1987年秋天由美国Northeastern University的Ian Holland提出&#xff0c;被UML的创始者之一Booch等普及。后来&#xff0c;因为在经典著作《 The Pragmatic Programmer》而广为人知。 2.概念 迪米特法则&#xff08;Law of Demeter&#xff09;又叫作最少知识原则&…

c语言,输入整数n(行数,本例为4),按照如下规则打印数字图片 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16

c语言&#xff0c;输入整数n(行数&#xff0c;本例为4&#xff09;&#xff0c;按照如下规则打印数字图片 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 以下是使用C语言编写的程序&#xff0c;根据输入的行数打印数字图片的规则&#xff1a; #include <stdio.h>int main() …

【LeeCode】59.螺旋矩阵II

给定一个正整数 n&#xff0c;生成一个包含 1 到 n^2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的正方形矩阵。 示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] 解&#xff1a; class Solution {public int[][] generateMatrix(int n) {int[][] ar…

Mysql编写过程和解析过程顺序刨析

我们在平时的编写sql语句当中&#xff0c;编写顺序都是知道&#xff0c;先select …… from …… join……where 等等 &#xff0c;那么它的解析过程顺序是什么样的呢&#xff1f;先说一下mysql解析顺序大致为&#xff1a; FROM 子句的解析&#xff1a; 解析 FROM 子句时&…

CV计算机视觉每日开源代码Paper with code速览-2023.11.22

点击CV计算机视觉&#xff0c;关注更多CV干货 论文已打包&#xff0c;点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【语义分割】Mobile-Seed: Joint Semantic Segmentation and Boundary Detection for Mobile Robots 论文地址&#xff1a;https://arxiv.or…

7种SQL进阶用法【转】

1.自定义排序(ORDER BY FIELD) 在MySQL中ORDER BY排序除了可以用ASC和DESC之外,还可以使使用自定义排序方式来实现 CREATE TABLE movies ( id INT PRIMARY KEY AUTO_INCREMENT, movie_name VARCHAR(255), actors VARCHAR(255), price DECIMAL(10,2) DEFAULT 50, release date…

P8安全基本理论A001-CIA安全模型-使用PGP描述网络安全CIA模型之私密性、完整性案例

【教学资源名称】 CIA安全模型-使用PGP描述网络安全CIA模型之私密性、完整性案例 【预备知识】 在信息安全等级保护工作中,根据信息系统的机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)来划分信息系统的安全等级,三个性质简称CIA。 私密性(Confi…

ES 8.x开始(docker-compose安装、kibana使用、java操作)

学习文档地址 一、Docker安装 这里使用docker-compose来安装&#xff0c;方便后续迁移&#xff0c;Elasticserach和kibina一起安装。 1、创建安装目录 configdataplugins 2、配置文件 配置文件有两个&#xff0c;一个是ES的配置文件&#xff0c;一个docker-compose的配置文件 …

大厂做项目的过程,你真的知道吗?

文章目录 明确需求排期代码设计技术选型写代码迭代更新 一线大厂的项目是如何从0-1被做出来的&#xff0c;了解大厂项目开发的详细流程&#xff1b;自己开发项目那是单打独斗&#xff0c;没人管你&#xff1b;但进入企业中开发项目那是开团打本&#xff0c;大家都在一股绳上&am…

龙芯loongarch64服务器编译安装pyarrow

1、简介 pyarrow是一个高效的Python库,用于在Python应用程序和Apache Arrow之间进行交互。Arrow是一种跨语言的内存格式,可以快速高效地转移大型数据集合。它提供了一种通用的数据格式,将数据在内存中表示为表格,并支持诸如序列化和分布式读取等功能。 龙芯的Python仓库安…