Machine learning KNN距离函数,一个用于循环

Machine learning KNN距离函数,一个用于循环,machine-learning,classification,knn,Machine Learning,Classification,Knn,作为我评估的一部分,我正在为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 这是不正确的,正确的是

作为我评估的一部分,我正在为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()

我不知道为什么我的答案不正确。

“它不正确,正确的答案是:“你是什么意思?我的意思是我写的第一个答案不正确,第二个答案是正确的,我不知道为什么。你怎么知道它不正确?因为这是测验的一部分,当我写答案时,它给了我一个错误。”