knn(k最近邻节点)
本质:找到与输入值距离最接近的k个节点,并以此为基础作出预测。
解决问题
- 分类问题
- 找到最接近的前k个结点。找到占比最大的类,并以此作为预测值输出。
- 例:plinko
- 回归问题
- 找到最接近的k个节点。求出对应k节点对应目标值的平均值,并以此作为函数输出。
项目代码
思路
knn模型对简单分类问题的python简单实现
1、获取历史数据(特征值feature,目标值label)
2、输入值
3、计算输入值与历史数据的距离
4、取前k个项,并且将其中出现概率最大的数作为结果输出
这里使用plinko这个游戏进行代码编写的详细分析
(1)绝对值求距离 | (2)欧式距离(勾股定理) | (3)欧氏距离并归一化 |
---|---|---|
19% | 37.0% | 39.0% |
注:点击可跳转至代码,同时(1)是一维的,(2)、(3)是二维的,由此看出,增加影响因素的考虑能够提高准确率,同时通过(2)、(3)可以得出,对算法进行改进也是可以提高数据精度
knn模型对简单回归问题的python简单实现
knn房价模型
目的:练习向量在机器学习中的使用
要点&#