机器学习算法之 KNN k邻近算法

来源:互联网 发布:南方全站仪取数据 编辑:程序博客网 时间:2024/04/30 01:40

K 邻近算法应该是机器学习中最简单的算法了,也很容易理解。

场景:

已知一组数据(点),并按照某些属性对其进行了分类,比如(A,B,C, 这就是数据的labels)。对于新来的数据,已知其属性,对其进行分类,加label。


K近邻对于如何分类的做法就是,根据属性,

1. 求出未知点到已知所有点的距离;

2. 对所有的距离进行排序;

3. 取出前K个距离位置点距离最近的点;

4. 根据这K个点的label 进行表决,即看哪种label的数量最多。


这就意味着未知点距离此类label的距离最近,因此,未知点的label也就确定了。


kNN算法的优点:

1.简单,易于理解,易于实现,无需估计参数,无需训练;
2. 适合对稀有事件进行分类;
3.特别适合于多分类问题(multi-modal,对象具有多个类别标签), kNN比SVM的表现要好。

缺点:

1. 样本不平衡时,误差大;

2. 计算量大;

3. 可理解性差,无法给出像决策树那样的规则。





原创粉丝点击