KNN算法的注释详细实现及手写数字识别应用
发布时间
阅读量:
阅读量
'''
def classify0(inX, dataSet, labels, k):
#获取样本数据数量
dataSetSize = dataSet.shape[0]
#计算测试数据与每个样本对应数据项的差值
diffMat = np.tile(inX,(dataSetSize,1))-dataSet
# sqDistances 上一步骤结果平方和
sqDiffMat = diffMat**2
sqDistances = sqDiffMat.sum(axis=1)
# 取平方根,得到距离向量
distances = sqDistances**0.5
#排序函数得到的从小到大的排列,并且是一个索引值
sortedDistIndicies = distances.argsort()
#一个空的字典,用来存储前K 个点中 不同类别出现次数
classCount = {}
for i in range(k):
#确定选取到的k个点中每个类别的出现的概率
voteIlabel = labels[ sortedDistIndicies[i
全部评论 (0)
还没有任何评论哟~
