在多为空间中找到K个与新的点接近的点,根据这个K点判断标记(解决分类问题)

1、距离运算

利用欧拉距离进行运算得到公式
lADPGp4a6rfkPmvNBQDNA70_957_1280.jpg_720x720q90g.jpg
k近邻算法是非常特殊的,可以被认为是没有模型的算法,为了和其他算法统一,可以任务训练数据集就是模型本身。

2、超参数和模型参数

lADPGp4a6rftYpDNA73NBP8_1279_957.jpg_720x720q90g.jpg
参数在算法中是非常重要的,KNN的K就是一个参数,还包括距离的权重等等,调参是算法工程师的一个重要能力。

3、数据归一化:把所有数据映射到0~1之间

如果用欧拉算法,样本间的距离会被某个值比较大的特征所主导如:
111957.jpg_720x720q90g.jpg
解决方案:将所有的数据映射到同一尺度
均值方差归一化:1231.jpg_720x720q90g.jpg

4、K近邻算法的开发流程

lADPGpb_7W51xOLNA73NBP8_1279_957.jpg_720x720q90g.jpg

总结:

解决分类问题,天然的可以解决分类问题,
最大的缺点:效率比较低下,如果训练集中有m个样本,n个特征,则预测每个新的数据需要O(M*N)
预测结果不具有可解释性
随着维度的增加,“看似相近”的两个点间的距离越来越大。
维数灾难,