k-邻近算法是一种监督性的,既有目的分类算法,通过计算不同特征值的距离,依照距离将数据由低到高的排列,选取前K个数据来判断新数据的类型。K一般不超过20。此算法适用于两种类型的特征值,数值型和标称型,数值型顾名思义就是由数值直接表示的特征值,而标称型,是指类似是/否,只有两种类型的特征值,可用0/1表示。
k-邻近算法的使用需要注意的地方:k值的选取,距离度量的方法,归一化。
k值的选取:
如果要的到效果比较好的K值的话可以运用交叉验证的方式寻得k值。
距离度量方法:
一般采用欧式距离:
D= 取决于特征值的数量。
归一化:是为了消除不同特征之间因为数值差异而对分析结果所产生的影响。
最值归一化:把所有的数据映射到0-1之间。
x'=(x-min(x))/(max(x)-min(x));适用于数据存在明显边界,及数据的最大值和最小值确定。