最简单kNN算法实现
python 代码注释
knn.py
1 | from numpy import * #导入科学计算报numpy |
注释部分
1.shape函数
shape函数是numpy.core.fromnumeric中的函数,它的功能是查看矩阵或者数组的维数。
1 | >>> e = eye(3) |
2.tile函数
tile函数也是numpy中的函数,用来重复矩阵
1 | >>> import numpy |
3.sum函数
numpy中的sum与python本身的sum多了一个参数axis,axis=0表示按列相加,axis=1表示按照行的方向相加
1 | >>> import numpy as np |
4.argsort函数
numpy中的argsort函数将元素按照由小到大的顺序返回下标
1 | One dimensional array:一维数组 |
5.sorted函数
sortedClassCount = sorted(classCount.iteritems(),key=operator.itemgetter(1),reverse=True)
iterable:是可迭代类型;
cmp:用于比较的函数,比较什么由key决定;
key:用列表元素的某个属性或函数进行作为关键字,有默认值,迭代集合中的一项;
reverse:排序规则. reverse = True 降序 或者 reverse = False 升序,有默认值。
返回值:是一个经过排序的可迭代类型,与iterable一样。
错误解决
sortedClassCount = sorted(classCount.iteritems(),key=operator.itemgetter(1),reverse=True)
在看机器学习实战的时候 KNN.py的时候会出现报错’dict’ object has no attribute ‘iteritems’
解决方法:Python3.5中:iteritems变为items