python - 在 Python 中使用 KNN 预测标签
问题描述
我正在尝试用 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
用作变量的名称,因为它用于在 Python 中定义类。
您始终可以在代码中更改它并选择其他名称。或者有一种常用的方法来使用它。只需添加_
到关键字的末尾,例如:class_
.
推荐阅读
- html - 可访问性方面,目前使用的最古老的浏览器是什么?我可以实际编程的最古老的浏览器是什么?
- php - 图片上传器非常适合插入表单,但不适用于更新表单
- javascript - 如何从 javascript 函数中获取 TikTok 个人资料图片?
- github - 无法对具有默认域的 github 页面强制执行 https
- sql-server - 为什么具有错误谓词的聚合查询会返回结果?有没有办法不得到结果?
- python - 用下一次出现的非 np.nan 值的值填充 np.nan 值
- transactions - Eth,如何从智能合约中调用存款功能
- c++ - 为浮点常量调用伪析构函数的有效语法
- python - 在 Jenkinsfile 管道 groovy 中获取 python 脚本的输出结果
- c# - JsonSerializer.Deserialize 无法推断用法