k-近邻算法是采用不同特征之间的距离方法进行分类。
![8f1c7e87209f69eebcf4161334407bf1.png](https://img-blog.csdnimg.cn/img_convert/8f1c7e87209f69eebcf4161334407bf1.png)
优点:精度高、对异常值不敏感、无数据输入假定
缺点:计算复杂度高、空间复杂度高
k-近邻算法的一般流程
(1)收集数据集:可以使用任何方法
(2)准备数据集:距离计算所需要的数值,最好是结构化的数据格式
(3)分析数据:可以使用任何方法
(4)训练数据集:此步骤不适用与k-近邻算法
(5)测试算法:计算错误率
(6)使用算法:首先需要输入样本数据和结构化输出结果,然后运行k-近邻算法判断输入数据分别属于那个分类,最后应用对计算出的分类执行后续的处理。
2.1.1 准备:使用Python导入数据
#createDataSet()from numpy import *import operatordef createDataSet(): group=array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]]) labels=['A','A','B','B'] return group,labels
2.1.2 实施K-近邻算法
K-近邻算法的伪代码:
对未知属性集中的每个点依次执行以下操作: