K-近邻算法
1. 算法简述
思路:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本的大多数属于某一类别,则该样本也属于这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或几个样本的类别来决定待分样本所属的类别。(近朱者赤,近墨者黑)
2. 计算步骤:
1)算距离:给定测试对象,计算它与训练集中的每个对象的距离
2)找邻居:圈定距离最近的k个训练对象,作为测试对象的近邻
3)做分类:根据这k个近邻归属的主要类别,来对测试对象分类
3. 算法优缺点
优点:
1)KNN可以处理分类问题,同时天然可以处理多分类问题,比如鸢尾花分类
2)简单易懂
3)还可以处理回归问题,进行预测
缺点
1)效率较低,每进行一次分类或者回归,都要算一遍训练数据和测试数据,数据过大,就需要很大的算力。
2)对训练数据依赖强,虽然所有的机器学习算法对数据依赖都很强,但KNN尤其严重,如果训练数据集中有个别数据错误,又恰好在我们需要分类数值的附近,就会直接导致预测结果不准确,容错性较差。
3)KNN不擅长对多维数据的处理