在 Python 中使用 KNN 预测标签
Predicting label with KNN in Python
我正在尝试使用 KNN 预测正确的标签;但由于某种原因,它不起作用。有人可以告诉我做错了什么吗?
def eucledian_dist(dist1, dist2):
return(np.sqrt(np.sum((dist1- dist2)**2)))
def knn(val, k, train, labels):
distances = [eucledian_dist(val, img) for img in train]
nearest = np.argsort(distances)[:k]
class = np.bincount(labels[nearest])
prediction = np.argmax(class)
return prediction
您不能将 class
用作变量的名称,因为它用于定义 class in Python。
您始终可以在代码中更改它并选择其他名称。或者有一种通用的方法来使用它。只需在关键字末尾添加 _
,例如:class_
.
我正在尝试使用 KNN 预测正确的标签;但由于某种原因,它不起作用。有人可以告诉我做错了什么吗?
def eucledian_dist(dist1, dist2):
return(np.sqrt(np.sum((dist1- dist2)**2)))
def knn(val, k, train, labels):
distances = [eucledian_dist(val, img) for img in train]
nearest = np.argsort(distances)[:k]
class = np.bincount(labels[nearest])
prediction = np.argmax(class)
return prediction
您不能将 class
用作变量的名称,因为它用于定义 class in Python。
您始终可以在代码中更改它并选择其他名称。或者有一种通用的方法来使用它。只需在关键字末尾添加 _
,例如:class_
.