【发布时间】:2020-07-06 12:12:57
【问题描述】:
我正在使用 IRIS 数据集。我有两组数据,(1 个训练集)(2 个测试集)。现在我想计算每个测试集行和训练集行之间的欧几里得距离。但是,我只想包括该行的前 4 个点。
一个可行的例子是:
dist = np.linalg.norm(inner1test[0][0:4]-inner1train[0][0:4])
print(dist)
***output: 3.034243***
问题是我有 120 个训练集点和 30 个测试集点 - 所以我必须手动执行 2700 次操作,因此我考虑使用 for 循环进行迭代。不幸的是,我的每一次尝试都失败了。
这是我最好的尝试,显示错误信息
for i in inner1test:
for number in inner1train:
dist = np.linalg.norm(inner1test[i][0:4]-inner1train[number][0:4])
print(dist)
(IndexError: 用作索引的数组必须是整数(或布尔值) 类型)
遍历这个数组的最佳解决方案是什么?
ps:我还会提供一个屏幕截图以便更好地可视化。
【问题讨论】: