更多的关于k近邻算法的思考
KNN(K- Nearest Neighbor)法即K最邻近法,数据挖掘分类技术中最简单的方法之一
对k近邻算法的总结:
优点部分
其可以解决分类问题,同时可以天然的解决多分类问题
其具备着思想简单,效果强大优点
同时,还可以使用k近邻算法来解决回归问题
对于我们要预测的k个节点,可以根据这k个样本的情况来解决,sklearn已经封装好了一个用来解决回归问题
缺点部分
最大的缺点就是效率低下
如果训练集有m个样本,n个特征,则预测每一个新的数据,需要o(m*n)的时间复杂度
当然,也有解决的方法,像是使用树结构:KD-tree,Ball-tree
除此之外,还有其他的问题,像是高度数据相关,虽然机器学习算法基本都是高度数据相关,但是相对而言,影响更加的厉害
同时,预测结果不具有可解释性也是其缺点之一
其很大的一个缺点,就是维度灾难
随着维度的增加,看似相近的两个点之间的距离会越来越大
其解决方法:降维
机器学习的流程回顾