- k-近邻算法介绍
k-近邻算法(kNN)是采用测试不同特征值之间的距离方法进行分类。工作原理:存在一个样本数据集(训练样本集),并且样本集中每组数据都存在分类标签,当输入没有标签的新数据后,将新数据的每个特征与样本集中的数据对应特征进行比较,然后算法提取样本集中特征最相似数据的前K个(最近邻)的分类标签,行啊unzek个最相似数据中出现次数最多的分类,作为新数据的分类。我们距离的计算一般用欧氏距离,二维平面中(比较直观),d就等于2个点之间的距离,即d=sqrt((x1-x2)^2+(y1-y2)^2),三维立体中,d=sqrt((x1-x2)^2+(y1-y2)^2+(z1-z2)^2),扩展至多维空间,d=sqrt( ∑(xi1-xi2)^2 ) 这里i=1,2..n。
- k-近邻算法计算步骤
- 归一化所有的特征数据(newValue=(oldValue - min)/(max - min)),确保特征值取值范围为[0, 1]
- 计算已知类别数据集中的点与当前需要计算的点的距离
- 按照距离递增次序排序
- 选取与当前点距离最小的k个点
- 确定前k个点所在的类别出现的频率
- 返回前k个点出现频率出现最高的类别作为当前点的预测分类
- k-近邻算法的优缺点
根据计算步骤我们可以得知该算法的优缺点
优点:
精度一般较高、对异常值不敏感、无数据输入的假定
缺点:
当数据量很大时需要计算每个点的距离取前k个值,计算复杂度和空间复杂度都比较高 - 该算法比较简单,就不贴代码了
k-近邻算法实现分类器
最新推荐文章于 2023-10-09 19:33:06 发布