数据挖掘算法原理与实践:k-近邻
数据挖掘算法原理与实践:k-近邻
任务
1.本关任务:使用python实现方法,找出目标样本最近的k个样本。
2.使用python实现knn算法,并对手写数字进行识别。
代码1
#encoding=utf8
import numpy as np
def topK(i,k,x,y):
'''
input:
i(int):第i个样本
k(int):最近邻样本个数
x(ndarray):数据特征
y(ndarray):数据标签
output:
topK(list):样本i的最近k个样本标签
'''
#*********Begin*********#
#计算样本到所有样本的距离
distance = np.sqrt(np.power(np.tile(x[i],(x.shape[0],1))-x,2).sum(axis=1))
#除样本本身外的最近的k个样本的索引
nearest = np.argsort(distance)[1:k+1]
#除样本本身外的最近的k个样本的标签
topK =