《机器学习实战》 - K近邻算法(KNN)

简介

K 近邻算法(K-Nearest Neighbor, KNN)

测量 不同特征值 间距离 进行分类

优点:

  • 精度高
  • 对异常值不敏感
  • 无数据输入假定
  • 无需训练

缺点:

  • 计算复杂度高
  • 空间复杂度高
  • 使用数据范围(1. 数值型 2.标称型)

流程:

  1. 计算未知电影 与 各样本距离,
  2. 选出前k个最近
  3. k个中服从多数,k一般取奇数,否则可能存在票数相同,无法判定类别

Q:如何测试分类器?

A:常用评估方法:错误率

准备数据:归一化数值

Q:为什么进行归一化?

A:

特征值间 量纲 差异大,导致最终结果易受某些仅仅是 量纲大 的数影响

取值范围 处理为 [0, 1] 或 [-1, 1]

特征值转到 [0, 1]

公式:newValue = (oldValue-min)/(max-min)

举例:

数字差值 最大的属性 对计算结果的影响最大

每年获取的 飞行常客里程数 对于计算结果的影响 将远远大于其他两个特征——玩视频游戏的和每周消费冰淇淋公升数——的影响 仅仅 是因为 量纲,飞行常客里程数 远大于 其他特征值

海伦 认为 这 三种特征 同等重要,飞行常客里程数 不应该 如此严重影响 结果

参考

  • 《机器学习实战》[美] Peter Harrington