热线电话:13121318867

登录
2019-01-16 阅读量: 670
python如何更新最近邻

我们有我们的邻居列表(最多应该有一个k的长度),我们想要一个给定距离的项目添加一个项目。首先,我们将检查邻居的长度是否为k。如果它少了,我们将项目添加到它,无论距离如何(因为我们需要在开始拒绝项目之前将列表填充到k)。如果没有,我们将检查该项目的距离是否短于列表中具有最大距离的项目。如果是这样,我们将使用新项目替换最大距离的项目。

为了更快地找到最大距离项,我们将保持列表按升序排序。因此,列表中的最后一项将具有最大距离。我们将用新项目替换它,我们将再次排序。

为了加快这个过程,我们可以实现一个插入排序,我们在列表中插入新项目,而不必对整个列表进行排序。虽然这个代码很长,虽然很简单,但是会让教程陷入困境。

filter_none

brightness_4
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.0000
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子