笔记(机器学习)

1.
np.stack(arrays,axis)
x1 = np.arange(9).reshape((3, 3))
print('x1:\n', x1, '\n')
x2 = np.arange(10, 19, 1).reshape((3, 3))
print('x2:\n', x2, '\n')
y2 = np.stack((x1, x2), axis=0)
print('axis=0时stack后:\n:', y2)
输出结果:
x1:
 [[0 1 2]
 [3 4 5]
 [6 7 8]] 

x2:
 [[10 11 12]
 [13 14 15]
 [16 17 18]] 

axis=0时stack后:(每个矩阵)
: [[[ 0  1  2]
  [ 3  4  5]
  [ 6  7  8]]

 [[10 11 12]
  [13 14 15]
  [16 17 18]]]
axis=1时stack后:(每一行)
: [[[ 0  1  2]
  [10 11 12]]

 [[ 3  4  5]
  [13 14 15]]

 [[ 6  7  8]
  [16 17 18]]]
  axis=2时stack后:(每个元素)
: [[[ 0 10]
  [ 1 11]
  [ 2 12]]

 [[ 3 13]
  [ 4 14]
  [ 5 15]]

 [[ 6 16]
  [ 7 17]
  [ 8 18]]]


2.
np.random.seed(5)	#指点种子
x = np.empty((3, 3))     # np.empty()返回一个随机元素的矩阵,大小按照参数定义。
输出
[[0.00000000e+000 0.00000000e+000 0.00000000e+000]
 [0.00000000e+000 0.00000000e+000 9.15009576e-321]
 [8.25456363e-312 8.25456363e-312 8.25548621e-312]]



3.
np.eye(n,k)	#用于生成一个n维的正对角线全为1的数组,参数k可以调整对角线位置
np.diag(arrays,k)	#可以输出数组arrays的对角线元素,参数k可以调整对角线位置
np.tile()			#一个用于复制的函数
np.identity(k)		# 返回的是k行k列的主对角线为1,其余地方为0的数组

4.
c = np.array([1,2,3,4])

np.tile(c, 2) #将c复制两次 
array([1, 2, 3, 4, 1, 2, 3, 4])

np.tile(c,(4,1))#将c按4行一列方式(4,1)复制 
array([[1, 2, 3, 4],
       [1, 2, 3, 4],
       [1, 2, 3, 4],
       [1, 2, 3, 4]])

5.
from sklearn.metrics import accuracy_score
auc = accuracy_score(y, y_hat)
# 生成模型的auc值,y为实际值,y_hat为预测值

6.
# 转载至
(https://www.wandouip.com/t5i227883/)
np.mgrid[]
功能:返回多维结构,常见的如2D图形,3D图形的数组
a:b:c
c表示步长,为实数表示间隔;该为长度为[a,b),左开右闭
或:
a:b:cj
cj表示步长,为复数表示点数;该长度为[a,b],左闭右闭 
np.mgrid[1维,第2维 ,第3维 , …] 

生成1D数组:
a=np.mgrid[-4:4:3j]	#在[-4,4]区间内取3个值
>>>array([-4.,  0.,  4.])

生成个2D矩阵:
mgrid[[1:3:3j, 4:5:2j]]		#生成的是3*2的矩阵
>>>
x:array([[1., 1.],
       [2., 2.],
       [3., 3.]])
y:array([[4., 5.],
       [4., 5.],
       [4., 5.]])
所以表示的结果是:
[[(1,4),(1,5)]
 [(2,4),(2,5)]
 [(3,4),(3,5)]
]
结果值先y向右扩展,再x向下扩展


7.
ndarray.flat
flat返回的是一个迭代器,可以用for访问数组每一个元素
n = np.arange(4).reshape(2,2)
for i in n.flat:
    print(i)
0
1
2
3
print(list(n.flat))
>>>[0, 1, 2, 3]

8.np.random.multivariate_normal()
用于根据实际情况生成一个多元正态分布矩阵

multivariate_normal(mean, cov, size=None, check_valid=None, tol=None)

mean:mean是多维分布的均值维度为1;
cov:协方差矩阵,注意:协方差矩阵必须是对称的且需为半正定矩阵
size:指定生成的正态分布矩阵的维度
check_valid:这个参数用于决定当cov即协方差矩阵不是半正定矩阵时程序的处理方式.
它一共有三个值:warn,raise以及ignore。

9.np.vstack((x1,x2))/np.hstack((x1,x2))

x1 = np.arange(9).reshape(3,3)
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
x2 = np.array(range(10,19)).reshape(3,3)
array([[10, 11, 12],
       [13, 14, 15],
       [16, 17, 18]])

np.vstack((x1,x2))	:按垂直方向(行顺序)堆叠数组构成一个新的数组
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [10, 11, 12],       


np.hstack((x1,x2))	:按水平方向(行顺序)堆叠数组构成一个新的数组
array([[ 0,  1,  2, 10, 11, 12],
       [ 3,  4,  5, 13, 14, 15],
       [ 6,  7,  8, 16, 17, 18]])







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值