numpy(机器学习)
小白的机器学习学习笔记 2024/5/7 14:22
文章目录
学习历史的数据,预测未来发生的情况,做分类
要学习3大部分
- Numpy(矩阵运算)
- Pandas(读取数据)
- 机器学习算法
- 元组:是一个不可更改的数组
创建矩阵
用列表
用元组
python
#导入numpy,起个别名叫np
import numpy as np
#numpy用来做矩阵运算
rect1=np.array([[1,2,3],[5,6,7]])
print(rect1)
#向量
rect2=np.array([1,2,3])
print(rect2)
# 元组
a=((2,3,4),(5,6,7))
print(a[0],a[1])
#a[0,0]=1 不支持更改
rect3=np.array(a)
print(rect3)
读取矩阵
python
import numpy as np
r=np.array([[1,2,3],
[5,6,7]])
#:所有行
a=r[:,0]
print(a)
b=r[0]
print(b)
c=r[1,2]
print(c)
numpy.arange
生成
.reshape
改变形状
np.linsqace
生成
np.zeros
生成0矩阵
np.eye
生成单位矩阵(对角线为1)
np.ones
生成1矩阵
python
import numpy as np
array=np.arange(10,20,step=1)#起始,终止,步长
print(array)
r=array.reshape(2,5)
print(r)
a=np.linspace(10,20,9)#生成等差数列,起始、终止、个数
print(a)
z=np.zeros((5,5))#参数一是个元组,所以别忘了括号
print(z)
z1=np.eye(5)
print(z1)
o=np.ones((5,5))
print(o)
数组的加减运算
python
import numpy as np
a=np.arange(10,15)
b=np.array([1,2,3,4,5])
c=a-b
print(c)
a1=np.ones((2,3),dtype=float)
a2=np.random.random((2,3))
a1*=3#a1=a1*3
print(a1)
a1+=a2#这里a1和a2的数据类型要一致,否则会报错
print(a1)
矩阵内部计算
py
import numpy as np
a=np.linspace(1,15,15).reshape((3,5))
print(a)
s=a.sum()
print(s)
a1=a.sum(axis=0)#整体是第0维度,这里求和效果是按列求和
print(a1)
a2=a.sum(axis=1)
print(a2)
print("==============")
c=np.array([[[0,1,2,3],
[4,5,6,7]],
[[8,9,10,11],
[12,13,14,15]]
])
c1=c.sum(axis=0)
print(c1)
c2=c.sum(axis=1)
print(c2)
c3=c.sum(axis=2)
print(c2)
合并矩阵
np.vstack垂直合并
np.hstack水平合并
矩阵转置
行列颠倒
python
import numpy as np
a=np.ones((2,2))
print(a)
b=np.eye(2)
print(b)
print("===========")
print(np.vstack((a,b)))#垂直合并
print("===========")
print(np.hstack((a,b)))#水平合并
print("===========")
a=np.array([[1,0],[2,3]])
print(a)
print(a.T)#转置,行列颠倒