KNN(K临近分类)算法

1、算法描述

主要功能:根据所有的已知类别的实例来判断未知实例的类别

主要过程:首先确定参数K,然后计算未知实例与所有已知实例的距离,选择其中最近的K个已知实例,根据少数服从多数的投票法则,让未知实例归类为K个最邻近样本中最多数类别。

注意事项:其中K的选取必须是奇数(为了确保投票可以选出一个结果);关于未知实例与已知实例的距离的衡量方法,可以根据实际情况而定,通用的是Euclidean Distance

其他距离衡量有余弦值、相关度、曼哈顿距离等。

 

2、算法优缺点

优点:简单、易于理解、容易实现、通过对K的选择可具备丢噪音数据的健壮性。

缺点:需要大量空间储存所有已知实例、算法复杂度高(需要比较所有已知实例与要分类的实例)、当其样本分布不平衡时,比如其中一类样本过大(实例数量过多)占主导的时候,新的未知实例容易被归类为这个主导样本,因为这类样本实例的数量过大,但这个新的未知实例实际并木接近目标样本。

如下图所示,新添加的Y点可能会被认为是w2类别的

解决该问题的的方法为可以考虑在距离的基础上加上权重的概念,用权重来取定新增点属于哪一个类别。

 

posted @ 2017-06-01 15:47  小与大  阅读(475)  评论(0编辑  收藏  举报