日志

KNN(K-Nearest Neighbors)

KNN是一种用于分类和回归的监督学习算法,它无需对假设函数进行参数估计,因此它是一种非参数方法,KNN也是一种惰性学习(lazy learning)的算法,因为它与其它需要通过拟合数据来训练模型的算法不同,KNN算法没有训练环节!

KNN算法主要涉及三个因素

训练样本、距离(相似度)度量方式、k值选择。

预测基本步骤

  1. 计算当前样本与所有训练样本的距离。
  2. 取距离最近的K个样本作为邻居集合。
  3. 对于分类任务:邻居集合中出现次数最多的分类则为预测分类。
  4. 对于回归任务:计算邻居集合的平均数作为回归预测值。
    备注:可以根据距离的倒数作为权重,计算加权平均数或加权次数,再进行排序。即距离越近的邻居有更高的权重,这种方法有助于降低样本不平衡的影响。

常用距离度量(连续特征)

阅读全文