相关文章推荐
豁达的圣诞树  ·  PostgreSQL ...·  1 月前    · 
飘逸的口罩  ·  如何将CSV导入的嵌套列表转换为指定列数据类 ...·  1 月前    · 
欢快的香烟  ·  将Mathematica生成的不规则形状数组 ...·  1 月前    · 
打盹的水煮肉  ·  盖尔曼-西岛关系_百度百科·  9 月前    · 
低调的核桃  ·  囚山中暫得一笑-從〈永州八記〉探析柳宗元貶謫 ...·  10 月前    · 
威武的马铃薯  ·  廠商基本資料查詢(含實績級距)·  10 月前    · 
踏实的骆驼  ·  防汛宣導資訊·  11 月前    · 
强健的柿子  ·  三国志13 威力加强版怎么在游戏内修改?·  11 月前    · 
Code  ›  [NumPy技巧]机器学习中使用numpy对数据集进行保存以集中管理 | 若绾
python 机器学习 python函数 python数组
https://www.royc30ne.com/numpy-save-dataset/
小胡子的煎饼
2 年前
首页 技术 人工智能AI [NumPy技巧]机器学习中使用numpy对数据集进行保存以集中管理

[NumPy技巧]机器学习中使用numpy对数据集进行保存以集中管理

Royc30ne 7月前

摘要

在机器学习中,数据是至关重要的。因此,对于任何机器学习项目,对数据的管理和处理都是必不可少的。数据管理涉及到许多方面,包括数据的收集、清理、存储和处理。在这篇文章中,我们将讨论如何使用NumPy来保存数据集以供集中管理。

使用NumPy保存数据集

NumPy是一种用于科学计算的Python库。它提供了一个强大的多维数组对象,以及一系列用于处理这些数组的函数。NumPy数组可以存储不同类型的数据,包括数字、字符串和布尔值。因此,它们是存储数据集的理想选择。

保存单个数组

如果你的数据集中只有一个数组,我们可以使用NumPy的 save 函数。

numpy.save

函数变量:

file: file, str, or pathlib.Path

数据被保存到的文件或文件名。如果文件是一个文件对象,那么文件名将不会改变。如果文件是一个字符串或路径,如果文件名还没有扩展名,那么将在文件名上添加一个 .npy 扩展名。

arr: array_like

要保存的阵列数据。

allow_pickle: bool, optional

允许使用Python pickles来保存对象数组。不允许pickle的原因包括安全性 (加载pickle的数据可以执行任意代码) 和可移植性 (pickle的对象可能无法在不同的Python安装上加载,例如,如果存储的对象需要的库不可用,而且不是所有pickle的数据都能在Python 2和Python 3之间兼容)。默认值: True

fix_imports: bool, optional

只有在强迫Python 3上对象数组中的对象以Python 2兼容的方式被pickle时才有用。如果 fix_imports 为 True,pickle 将尝试把新的 Python 3 名称映射到 Python 2 中使用的旧模块名称,这样 pickle 的数据流就可以用 Python 2 读取。

例如,假设我们有一个名为 data 的NumPy数组,我们可以使用以下代码将其保存到名为 data.npy 的文件中:

import numpy as np
data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
np.save('data.npy', data)

从文件中加载数组

要加载数据集,我们可以使用NumPy的 load 函数。例如,以下代码加载了名为 data.npy 的文件中保存的数组:

import numpy as np
data = np.load('data.npy')
print(data)

输出将是:

[[1 2 3]
 [4 5 6]
 [7 8 9]]

同时保存多个数组

如果你的数据集中具有多个数组,像trani_set, train_label, test_set, test_label。可以使用NumPy的 savez 或者 savez_compressed 函数对数据集进行保存。** numpy.savez 将多个数组保存为未压缩的 .npz 文件,而 numpy.savez_compressed 将数组保存为压缩的 .npz **文件,可以节省存储空间。

numpy.savez

函数变量:

file: str or file

文件名(str)或一个打开的文件(file-like object),数据将被保存在那里。如果文件是一个字符串或一个路径,如果文件名中没有 .npz 扩展名,将被附加到文件名中.

args: Arguments, optional

要保存到文件中的数组。请使用关键字参数(见下面的kwds)来给数组指定名称。作为args指定的数组将被命名为 “arr_0″、”arr_1″,以此类推。

kwds: Keyword arguments, optional

要保存到文件的数组。每个数组将以其相应的关键字名称保存到输出文件中。

用 kwds,数组将以关键字的名称保存。在这个例子中,我们创建了两个NumPy数组 array1 和 array2 ,然后使用 numpy.savez 将它们保存到名 arrays.npz **的文件中。需要注意的是,我们需要为每个数组指定一个关键字参数,该参数将作为数组在文件中的名称。

import numpy as np
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
# 保存数组到文件
np.savez('arrays.npz', arr1=array1, arr2=array2)

numpy.savez_compressed

函数变量:

file: str or file

文件名(str)或一个打开的文件(file-like object),数据将被保存在那里。如果文件是一个字符串或一个路径,如果文件名中没有 .npz 扩展名,将被附加到文件名中。

args: Arguments, optional

要保存到文件中的数组。请使用关键字参数(见下面的kwds)来给数组指定名称。作为args指定的数组将被命名为 “arr_0″、”arr_1″,以此类推。

kwds: Keyword arguments, optional

要保存到文件的数组。每个数组将以其相应的关键字名称保存到输出文件中。

这个例子与上一个类似,但使用了** numpy.savez_compressed 将数组保存为压缩的 .npz **文件。

import numpy as np
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
# 保存数组到压缩文件
np.savez_compressed('compressed_arrays.npz', arr1=array1, arr2=array2)

从文件中加载数组

要从** .npz 文件中加载数组,可以使用 numpy.load **函数:

import numpy as np
# 加载保存的数组
loaded_arrays = np.load('arrays.npz')
# 通过在文件中指定的名称访问数组
loaded_array1 = loaded_arrays['arr1']
loaded_array2 = loaded_arrays['arr2']

在这个例子中,我们使用** numpy.load 加载了名为 arrays.npz 的文件,并通过之前指定的名称访问其中的数组。同样的方法也适用于加载压缩的 .npz **文件。

小结

在本文中,我们讨论了如何使用NumPy来保存数据集以供集中管理。这是一个重要的数据管理方面,应该在任何机器学习项目中得到充分的重视。

# numpy # 人工智能 # 数据集 # 机器学习
Royc30ne
万头攒动火树银花之处不必找我,若与相见,我在各种灯火交集处
22
文章
2
评论
1
获赞

最新内容

Chevereto V4的进阶使用:加入图片审核及儿童色情鉴黄机制
Chevereto V4的进阶使用:挂载外部对象存储拓展存储空间
教你如何使用 Docker 安装 Chevereto V4 搭建属于自己的图床
Creative Commons License

本作品采用 知识共享署名-非商业性4.0国际许可协议 进行许可。

  • Email
  • 友情链接: BlogWall BlogFinder 张洪Heo
 
推荐文章
豁达的圣诞树  ·  PostgreSQL 13.3中如何将多组JSON键值对数组作为查询参数传入?
1 月前
飘逸的口罩  ·  如何将CSV导入的嵌套列表转换为指定列数据类型的NumPy数组?
1 月前
欢快的香烟  ·  将Mathematica生成的不规则形状数组导入Python的技术问询
1 月前
打盹的水煮肉  ·  盖尔曼-西岛关系_百度百科
9 月前
低调的核桃  ·  囚山中暫得一笑-從〈永州八記〉探析柳宗元貶謫永州時的情感蘊含 ...
10 月前
威武的马铃薯  ·  廠商基本資料查詢(含實績級距)
10 月前
踏实的骆驼  ·  防汛宣導資訊
11 月前
强健的柿子  ·  三国志13 威力加强版怎么在游戏内修改?
11 月前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号