K-近邻算法概述
- 优点:精度高、对异常值不敏感、无数据输入假定
- 缺点:计算复杂度高,空间复杂度高
- 适用数值类型:数值型和标称型
工作原理
- 存在一个训练样本集,并且存在标签
- 输入没有标签的新数据后,将新数据中的每个特征与样本集中数据对应的特征进行比较
- 提取样本集中特征最相似数据(最近邻)的分类标签
K-近邻算法的一般流程
- 收集数据:可以使用任何方法
- 准备数据:计算距离所需要的数值
- 分析数据
- 训练算法:此步骤不适用于K-近邻算法
- 测试算法
- 使用算法
伪代码实现
- 计算输入点和样本中对应的每个点的距离
- 按照距离进行排序
- 选取与输入点距离最小的k个点
- 确定k个点所属类别(标签)的出现频率
- 返回前k个点出现频率最高的类别作为输入点的预测结果
数学原理
两个向量点xA, xB
两点之间的距离:
例如,点(0, 0) and (1, 2)之间的距离计算为:
从上面的例子可以看出,K-近邻算法的数学解释还是非常易于理解的,就是在坐标轴中计算两个点的距离的公式。
网友评论