更新 function.py
Gitea Actions Experiment Test / Experiment-Actions (push) Successful in 26s

This commit is contained in:
cy
2024-10-15 19:02:26 +08:00
parent 6ddbe34013
commit 12a6699575
+8 -3
View File
@@ -42,10 +42,15 @@ def classify(input_vector, dataSet, labels, k=2):
- int: 预测的分类标签。 - int: 预测的分类标签。
""" """
dataSet_size = dataSet.shape[0] dataSet_size = dataSet.shape[0]
# 计算曼哈顿距离 # 计算马氏距离
cov_matrix = np.cov(dataSet.T)
inv_cov_matrix = np.linalg.inv(cov_matrix)
diff_mat = np.tile(input_vector, (dataSet_size, 1)) - dataSet diff_mat = np.tile(input_vector, (dataSet_size, 1)) - dataSet
abs_diff_mat = np.abs(diff_mat) distances = []
distances = abs_diff_mat.sum(axis=1) for i in range(dataSet_size):
distance = np.sqrt(np.dot(np.dot(diff_mat[i], inv_cov_matrix), diff_mat[i].T))
distances.append(distance)
distances = np.array(distances)
# 对距离进行排序 # 对距离进行排序
sorted_indices = distances.argsort() sorted_indices = distances.argsort()
class_count = {} class_count = {}