搜索k个近邻的算法:kNN(A[n],k)
输入:A[n]为N个训练样本在空间中的坐标,k为近邻数 输出:x所属的类别
取A[1]~A[k]作为x的初始近邻,计算与测试样本x间的欧式距离d(x,A[i]),i=1,2,.....,k;按d(x,A[i])升序排序,计算最远样本与x间的距离D<-----max{d(x,a[j]) | j=1,2,.....,k}; for(i=k+1;i<=n;i++)
计算a[i]与x间的距离d(x,A[i]); if(d(x,A[i])) then 用A[i]代替最远样本 按照d(x,A[i])升序排序,计算最远样本与x间的距离D<---max{d(x,A[j]) | j=1,...,i };计算前k个样本A[i]),i=1,2,...,k所属类别的概率,具有最大概率的类别即为样本x的