KNN
原理
“近朱者赤,近墨者黑”
来一个待分类物体,离这个物体最近的K个点大都属于哪一个类,这个样本就属于哪一个类。
步骤
1、计算距离:每个物体与待分类物体的距离;(距离是两个物体相似程度的反映)
2、距离排序:按从小到大的距离排序距离;
3、找出K个近邻:距离最近的前K个物体为近邻们;
4、分类:这K个物体中大多数都属于哪一类,该样本就属于哪一个类。
可以看到,当数据量非常大的时候KNN会有一个大缺点:
计算量庞大,需要大量的计算时间和存储空间(因为它要计算与所有物体的距离,要找最近的K个距离)
思考,怎么解决数据量非常大时候带来的大的存储空间以及计算时间问题?
构造Kd树,利用kd树可以省去对大部分数据点的搜索,从而减少搜索的计算量
KNN还有缺点:
当样本类别不均衡时,比如有些分类的样本少的可怜,有些多的爆炸,那么分类的准确率就会低很多。
思考,怎么解决类别不均衡问题?
K值如何选择
K太小,相当于邻居与待分类物体要非常相似(非常接近)才行,否则分类的准确度低。一个问题是ÿ