np.tile()函数

np.tile()函数:

函数形式:np.tile(a,(x,y,z))
表示将数组a在行上重复x次,在列上重复y次,在第三维度重复z次(假设数组a是一维的)


代码演示:

>>> import numpy as np
>>> a = np.array([1,2,3])
>>> np.tile(a,(2,2)) # 在行上重复2次,在列上重复2次
array([[1, 2, 3, 1, 2, 3],
       [1, 2, 3, 1, 2, 3]])
>>> np.tile(a,(2,2,2)) 
# 进行三维度扩展,首先在行上重复2次,在列上重复2次,由一维数组变成二维数组,
# 然后在整个二维数组的基础上进行扩展变成三维数组
array([[[1, 2, 3, 1, 2, 3],
        [1, 2, 3, 1, 2, 3]],

       [[1, 2, 3, 1, 2, 3],
        [1, 2, 3, 1, 2, 3]]])

实际案例应用:

在讲解kNN时用到了该函数

kNN算法主要是计算新数据和原数据之间的距离,找出距离最近的k个,计算最近的k个数据每个类别出现次数最多的一个类别作为新数据的类别

分析代码:对于矩阵运算,可以一次性算出所有的距离

dataSetSize表示原数据的行数,所以tile(inX,(dataSetSize,1))表示把新数据inX重复dataSetSize,列不变,然后直接做差得到矩阵diffMat


总结:

看完这个案例代码,想必已经学会如何使用该函数了。

欢迎交流~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值