使用数学公式 应用于数组的数学公式,能被NumPy简便地实现,这是NumPy在Python科学社区中被广泛使用的原因之一。
例如,下图是均方误差公式(在处理回归的监督机器学习模型中使用的中心公式):
用NumPy可以简单直接地实现:
这项工作之所以如此成功,是因为预测(predictions)和标签(labels)可以包含一个或以上,成千上万个值。它们只需要大小相同即可。 它的算法原理可以通过以下方式可视化:
在本例中,预测和标签向量都包含三个值,这意味着n的值为三。在进行减法之后,再把结果向量中的值平方。然后NumPy对这些值求和,结果就是该模型质量的预测值和实测值的均方误差。 例题验证:
如何保存和装载NumPy对象
本节介绍np.save、np.savez、np.savetxt、np.load和np.loadtxt函数。 在某些情景,要将数组保存到文件后,从文件中加载而无需重新运行代码。NumPy很贴心,设计了几种方法保存和加载数组对象。ndarray对象可以保存为普通文本文件和二进制文件(扩展名是.npy或.npz)。savetxt()和loadtxt()函数保存和加载普通文本文件;save()和load()函数保存和加载.npy文件;savez()函数处理.npz文件。 .npy和.npz文件存储数据、形状、数据类型和重建ndarray所需的其他信息,即使文件位于具有不同体系结构的另一台计算机上,也能正确检索数组。
如果要存储单个ndarray对象,请使用np.save将其存储为.npy文件。如果要在一个文件中存储多个ndarray对象,请使用np.savez将其另存为.npz文件。还可以使用savez_compressed(https://numpy.org/doc/stable/reference/generated/numpy.savez_compressed.html#numpy.savez_compressed)将多个数组以压缩的npz格式保存到一个文件中。
使用np.save()和np.load()很容易保存和加载数组。只需确保指定要保存的数组和文件名。例如,下面数组:
可以用下面的代码保存到“filename.npy”中: 保存后,可以用np.load()重构数组: 打印出来验证一下: NumPy数组可以通过np.savetxt()保存为普通文本文件(例如.csv和.txt)。
例如,下面的数组:
可以用下面的方法很容易地保存到“new_file.csv”中: 保存后,可以用np.loadtxt()又快速又容易地从文件重构数组: savetxt()和loadtxt()函数接受其他可选参数,如页眉、页脚和分隔符。虽然文本文件更易于共享,但.npy和.npz文件更小,读取速度更快。如果需要对文本文件进行更复杂的处理(例如,如果需要处理包含缺失值的行),则需要使用genfromtxt函数(https://numpy.org/doc/stable/reference/generated/numpy.genfromtxt.html#numpy.genfromtxt)。 使用savetxt(https://numpy.org/doc/stable/reference/generated/numpy.savetxt.html#numpy.savetxt),用户可以指定页眉、页脚、注释等。
如需了解有关输入和输出例程的更多信息,请打开:https://numpy.org/doc/stable/reference/routines.io.html#routines-io。