我是小玉,一个刚入门的数据分析师!
KNN算法:K-Nearest Neighbor K最邻近算法
一般可用于分类也可以用于回归的一种算法。
1 整体思路
近朱者赤,近墨者黑
仔细品,就是这样子!
2 算法步骤
- 根据给定的距离度量公式,计算待分类点与其他实例点的距离;
- 根据距离,在训练集T中找到与X最邻近的K个点;
- 在涵盖这K个点的X的邻域内根据决策规则判断X的类别。
3 算法三要素
1)距离度量
距离越大,差异性越大,距离越小,相似性越大
常用的计算距离方法:
- 欧式距离:也就是常说的欧几里得距离
- 曼哈顿距离:又称为绝对值距离
- 余弦距离
- 切比雪夫距离
在日常的使用中,欧式距离和曼哈顿距离为最常用的两种公式计算方法!
2)K值的选择
k值的选择一般情况下会直接影响分类的结果。
K值过大:模型变得复杂,容易产生过拟合现象;
K值过小:模型变得简单,容易产生欠拟合现象。
一般情况下,可以通过交叉验证来确定K的最优值。
3)分类决策规则
一般情况下,取