如何解决KNN距离功能带一个for循环
我的一部分评估工作是使用一个for循环编写KNN分类器的代码,因此我想将每个训练示例与所有测试示例都多个,这就是我想出的:
for i in range(num_train):
distance = (x_train[i].view(-1,1) - x_test.view(-1,num_test))
eucl_squ = distance**2
sum = eucl_squ.sum(dim=0)
dists[i] = sum
这是不正确的,正确的是:
for i in range(num_train):
dists[i]=torch.sum((x_test - x_train[i])**2,dim=1).t()
我不知道为什么我的说法不正确。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。