generated from LufsX/Challenge-kNN
This commit is contained in:
+1
-1
@@ -52,7 +52,7 @@ def classify0(inX, dataSet, labels, k=3):
|
||||
|
||||
# 计算马氏距离
|
||||
diff = normalized_dataSet - normalized_inX
|
||||
distances = np.sqrt(np.sum(diff @ inv_cov_matrix * diff, axis=1))
|
||||
distances = np.einsum('ij,jk->i', diff, inv_cov_matrix @ diff.T) # 使用 einsum 简化计算
|
||||
|
||||
# 获取距离最小的 k 个样本的索引
|
||||
sorted_indices = np.argsort(distances)[:k]
|
||||
|
||||
Reference in New Issue
Block a user