KNN邻近算法
程序员文章站
2022-03-29 14:47:27
...
KNN邻近算法
(K Near Neighbor):k个最近的邻居,即每个样本都可以用它最接近的k个邻居来代表。
算法的思想是:样本集中的某一样本与数据集中的其他k个样本最相似,如果这k个样本中的大多数属于某一个类别,则该样本也属于这个类别。
KNN实现步骤
1、计算已知类别数据集中的点与当前点之间的距离
2、按距离递增次序排序
3、选取与当前点距离最小的k个点
4、统计前k个点所在的类别出现的频率
5、返回前k个点出现频率最高的类别作为当前点的预测分类
KNN算法优点
1、算法分类简单有效
2、重新训练代价底
3、算法复杂度底
4、比较适合交叉类域样本
5、适合大样本自动分类
KNN算法缺点
1、knn是一种惰性学习方法
2、类别分类不标准化
3、针对样本分布不均衡,有可能会出现错误分类。可采用权值的方法(和该样本距离小的邻居权值大)进行改进。
4、输出可解释性不强。
5、计算量较大(目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本)
k邻近法三要素
1、距离度量:
2、分类决策规则
k邻近法中的分类决策规则往往是多数表决,即有输入实例的k个邻近的训练实例中的多数类决定输入实例的类。
3、k值的选择
k值的选择会对k邻近法的结果产生重大影响。