np.partition接受一个数组和一个数字K;结果是一个新数组,最小的K个值在分区左边,任意顺序的剩下的值在右边:
x = np.array([7, 2, 3, 1, 6, 5, 4])
np.partition...7, 6, 7],
[1, 2, 4, 5, 7, 7],
[0, 1, 4, 5, 9, 5]])
'''
结果是一个数组,其中每行中的前两个槽包含该行中的最小值,其余值填充剩余的槽...如果我们只是对最近的k个邻居感兴趣,我们所需要的就是对每一行进行分区,以便最小的k + 1个平方距离首先出现,更大的距离填充数组的剩余位置。...其中一个例子是 KD-Tree,在 Scikit-learn 中实现。
注:大 O 记号
大 O 记号是一种方法,描述算法所需操作数量随输入大小增长的变化。...在比较算法的性能时,即使是这个松散版本的大 O 记号也非常有用,在讨论算法如何扩展时,我们将在整本书中使用这种记号。