2019-03-13
阅读量:
473
python如何更新最近邻的类
我们有我们的邻居列表(最多应该有一个k的长度),我们想要一个具有给定距离的项目添加到列表中。首先,我们将检查邻居的长度是否为k。如果它少了,我们将项目添加到它,无论距离如何(因为我们需要在开始拒绝项目之前将列表填充到k)。如果没有,我们将检查该项目的距离是否短于列表中具有最大距离的项目。如果是这样,我们将使用新项目替换最大距离的项目。
为了更快地找到最大距离项,我们将保持列表按升序排序。因此,列表中的最后一项将具有最大距离。我们将用新项目替换它,我们将再次排序。
为了加快这一过程,我们可以实现一个插入排序,我们在列表中插入新项目而无需对整个列表进行排序。虽然这个代码很长,但是虽然简单,但会使教程陷入困境。
def UpdateNeighbors(neighbors, item, distance, k):
if(len(neighbors) > distance):
# If yes, replace the last
# element with new item
neighbors[-1] = [distance, item["Class"]];
neighbors = sorted(neighbors);
return neighbors;






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论