在学习机器学习实教程时,实现KNN算法的代码中用到了numpy的tile函数,因此对该函数进行了一番学习:
tile函数位于python模块 numpy.lib.shape_base中,他的功能是重复某个数组。比如tile(A,n),功能是将数组A重复n次,构成一个新的数组
print(tile([0,0],1))
[0 0] print(tile([0,0],2))
[0 0 0 0] print(tile([0, 0], 4))
[0 0 0 0 0 0 0 0] print(tile([0, 0], [1,1]))
[[0 0]] print(tile([0, 0], [1,3]))
[[0 0 0 0 0 0]] print(tile([0, 0], [2,3]))
[[0 0 0 0 0 0]
[0 0 0 0 0 0]]
重复规则:
1. 当n是一个整数时,这个数组的所有列重复n遍
2. 当n是个二元数组[p, q]时,将这个数组的所有列重复q遍,然后将这个数组重复p遍
例如: print(tile([0, 0], [2,3])) ,首先把[0, 0]的所有列重复三遍,得到[0, 0, 0, 0, 0, 0]。然后再把这个数组重复两遍,得到[ [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0] ]