K-近邻算法介绍
如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。K-近邻算法是一种分类算法。
K-近邻算法步骤
k-近邻算法步骤如下:
- 计算已知类别数据集中的点与当前点之间的距离;
- 按照距离递增次序排序;
- 选取与当前点距离最小的k个点;
- 确定前k个点所在类别的出现频率;
- 返回前k个点所出现频率最高的类别作为当前点的预测分类。
K-近邻算法所用的模型
2维实数向量空间,用两点距离公式计算距离。
n维实数向量空间,使用欧氏距离公式。
K-近邻算法作用
数据分类问题
优缺点
优点:理论简单,易于实现;精度高,对异常值不敏感、无数据输入假定,即可用于回归也可用于分类。
缺点:计算复杂度高、空间复杂度高;样本不平衡问题(即有些类别的样本数量很多,而其它样本的数量很少);
数据量太大,计算全量计算量比较高,单个样本太少结果存在误差。