generated from LufsX/Experiment-kNN
This commit is contained in:
+3
-1
@@ -52,7 +52,9 @@ def classify(input_vector, dataSet, labels, k=2):
|
||||
class_count = {}
|
||||
for i in range(k):
|
||||
vote_label = labels[sorted_indices[i]]
|
||||
class_count[vote_label] = class_count.get(vote_label, 0) + 1
|
||||
# 计算权重,这里采用简单的距离倒数作为权重
|
||||
weight = 1 / distances[sorted_indices[i]]
|
||||
class_count[vote_label] = class_count.get(vote_label, 0) + weight
|
||||
sorted_class_count = sorted(class_count.items(), key=lambda x: x[1], reverse=True)
|
||||
return sorted_class_count[0][0]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user