我有一个KNN,我需要部分 argsort 一个列表。
以下是代码中的工作原理:
sorted_distance_indices = distances.argsort(axis=1)[:,:self.parameters['k']+1]
kplus_1_nearest_classes = self.trainingY[sorted_distance_indices]
...etc.
我找到了这个答案,How can I partially sort a list?但我不知道如何调整“堆积”#39;对于argsort任务,(我不知道如何在Python中进行语言互操作,所以我不知道如何手动执行heapsort alg ...)
答案 0 :(得分:2)
我想我已经得到了答案。
跑步:
sorted_distance_indices = np.argpartition(distances,self.parameters['k']+1,axis=1)[:,:self.parameters['k']+1]
完成工作。打开更快的方式。