k-近邻算法(k-Nearest Neighbors, k-NN)是一种基本且广泛使用的分类与回归算法。它的工作原理非常直观:通过测量不同特征点之间的距离,来进行分类或回归分析。
1.K-NN算法
基本概念
1.基于实例的学习:k-NN是一种基于实例的学习,意味着它直接记忆训练数据集,并通过这些数据进行预测,而不需要明确地学习一个模型。
2.懒惰学习(Lazy Learning):k-NN属于懒惰学习算法,因为它基本上不在训练阶段进行计算,而是将所有的计算推迟到分类阶段。
3.非参数方法:k-NN是一种非参数方法,这意味着它不对数据的分布做任何假设。这是一个优点,因为它不需要先验知识关于数据分布的形式。
工作原理
1.选择邻居数目(k值):算法运行时,首先需要指定“k”,即最近邻居的数目。k是一个预先选定的常数,通常是一个较小的整数。k的选择会影响算法的结果。
2.计算距离:计算查询点(即测试点)与每个训练数据点之间的距离。常用的距离度量包括欧氏距离、曼哈顿距离或余弦距离等。
3.识别最近的k个邻居: