kNN代码
来源:互联网 发布:大商创开源破解版源码 编辑:程序博客网 时间:2024/05/16 18:21
伪码:
#(1)计算已知类别数据集中的点与当前点之间的距离
#(2)按照距离递增次序排序
#(3)选取与当前点距离最小的k个点
#(4)确定前k个点所在类别的出现频率
#(5)返回前k个点中出现频率最高的类别作为当前点的预测分类
代码:
def classify0(inX,dataSet,labels,k):
dateSetsize=dataSet.shape[0] #计算行数,0表示行,1表示列
diffMat=tile(inX,(dateSetsize,1))-dataSet
sqDiffMat=diffMat**2
sqDistances=sqDiffMat.sum(axis=1) #=1 表示矩阵中行求和,=0表示列求和
distances=sqDistances**0.5
sortedDistIndicies=distances.argsort() #对数组进行非降序排列
classCount={}
for i in range(k):
voteIlabel = labels[sortedDistIndicies[i]]
classCount[voteIlabel]=classCount.get(voteIlabel,0)+1 #确定前K个点出现的频率
sortedClassCount = sorted(classCount.iteritems(),key=operator.itemgetter(1),reverse=True) ##排序
##key=operator.itemgetter(1) 定义函数key,获取对象的第1个域的值
return sortedClassCount[0][0]
- knn代码
- kNN代码
- knn代码
- 代码笔记--kNN算法
- KNN-Dating完整代码
- kNN算法python代码学习
- KNN算法--python实现代码
- KNN算法matlab代码实现
- KNN算法 代码详细解释
- 机器学习实战 KNN代码
- knn
- knn
- KNN
- KNN
- KNN
- KNN
- KNN
- knn
- Leetcode练习<二十一>求解整数的平方根
- Kafka的Producer和Consumer的示例(使用java语言)
- Hadoop入门之Mapreduce过程的几个Demo
- 坚持#第189天~练字完毕
- JavaScript中的递归函数
- kNN代码
- uva548 (建树)二种方式实现 简单易懂
- jQuery的学习日记
- ios之UILabel显示不同的颜色字体
- Android.mk文件解读
- fread读优
- 观察者模式
- 接口
- Android——对话框、通知