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

This commit is contained in:
wzy
2024-10-22 19:53:02 +08:00
parent 620afde542
commit 2e394360ee
+8 -2
View File
@@ -59,15 +59,21 @@ def classify(input_vector, dataSet, labels, k=2):
Returns:
- int: 预测的分类标签。
"""
if dataSet.ndim > 2:
dataSet = dataSet.reshape(dataSet.shape[0], -1)
mean = np.mean(dataSet, axis=0)
covmat = np.cov(dataSet, rowvar=0)
inv_covmat = np.linalg.inv(covmat)
# 马氏距离计算
dists = [mahalanobis_distance(input_vector, mean, inv_covmat)]
for data in dataSet:
dists.append(mahalanobis_distance(data, mean, inv_covmat))
# 移除第一个距离,因为它是输入向量的马氏距离
dists.pop(0)
k_indices = np.argsort(dists)[:k]
k_nearest_labels = [labels[i] for i in k_indices]
@@ -79,7 +85,7 @@ def classify(input_vector, dataSet, labels, k=2):
if most_common:
return most_common[0][0]
else:
return None
return None
# 这里也写自己的代码实现