雅可比矩阵机器学习_搞机器学习必须掌握的矩阵计算库numpy

e830b8948fca0da5c930869d5372072a.png
1f2a72367ea489f19d1e705948e1e5bb.gif

欢迎点击上方“关注”,公众号持续提供优质内容

这篇文章中,将介绍使用NumPy的基础知识,NumPy是一个功能强大的Python库,允许更高级的数据操作和数学计算。

什么是 NumPy

NumPy是一个功能强大的Python库,主要用于对多维数组执行计算。NumPy这个词来源于两个单词-- Numerical和Python。NumPy提供了大量的库函数和操作,可以帮助程序员轻松地进行数值计算。这类数值计算广泛用于以下任务:

  • 机器学习模型:在编写机器学习算法时,需要对矩阵进行各种数值计算。例如矩阵乘法、换位、加法等。NumPy提供了一个非常好的库,用于简单(在编写代码方面)和快速(在速度方面)计算。NumPy数组用于存储训练数据和机器学习模型的参数。
  • 图像处理和计算机图形学:计算机中的图像表示为多维数字数组。NumPy成为同样情况下最自然的选择。实际上,NumPy提供了一些优秀的库函数来快速处理图像。例如,镜像图像、按特定角度旋转图像等。
  • 数学任务:NumPy对于执行各种数学任务非常有用,如数值积分、微分、内插、外推等。因此,当涉及到数学任务时,它形成了一种基于Python的MATLAB的快速替代。

NumPy 的安装

pip install numpy

NumPy中的数组操作

1. 改变数组的shape

>>> import numpy as np>>> a=np.ones((3,4), dtype=int)>>> aarray([[1,1,1,1], [1,1,1,1], [1,1,1,1]])>>> a.shape(3,4)

除此之外,NumPy还提供了可以直接修改原始数组shape的方法——resize()。resize()方法和reshape()方法的最主要区别在于,reshape()方法返回一个特定shape的数组,而resize()方法会直接更改原数组。

>>> a=np.arange(12).reshape(3,4)>>> aarray([[0,1,2,3], [4,5,6, 7], [8,9,10,11]])>>> a.resize(2,6)>>> aarray([[0,1,2,3,4,5], [6,7,8,9,10,11]])

2.数组堆叠和切片

NumPy支持将多个数据按照不同的轴进行堆叠:

>>> a=np.floor(10*np.random.random((2,2)))>>> aarray([[0,8.], [4.,8.]])>>> b=np.floor(10*np.random.random((2,2)))>>> barray([[1.,4.], [4,1.]])>>> np.vstack((a,b))array([[0,8.], [4.,8.], [1.,4.], [4.,1.]])>>> np.hstack((a,b))array([[0.,8.,1., 4.], [4.,8.,4.,1.]])

3.复制和视图

>>> aarray([111,1,2,3,4,5,6,7,8,9,10,11])>>> d=a.copy()>>> print(a is d)False>>> d.shape=2,6>>> darray([[111,1,2,3,4,5], [6,7,8,9,10,11]])>>> a=np.arange(12)>>> aarray([0,1,2,3,4,5,6,7,8,9,10,11])>>> c=a.view()>>> carray([0,1,2,3,4,5,6,7,8,9,10,11])
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值