机器学习实战:KNN 代码注释(python)
来源:互联网 发布:数据已经存在异常 编辑:程序博客网 时间:2024/05/17 07:40
基础部分注释:
from numpy import *import operatorfrom os import listdir
def createDataSet(): group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]]) labels = ['A','A','B','B'] return group, labels
def classify0(inX, dataSet, labels, k): dataSetSize = dataSet.shape[0]#第一维的值,例如dataSet为group,则结果为4 diffMat = tile(inX, (dataSetSize,1)) - dataSet#求差,tile作用:重复,后面是沿着各个维度重复次数 sqDiffMat = diffMat**2#求差的平方 sqDistances = sqDiffMat.sum(axis=1)#axis = 1每一行相加,axis = 0每一列相加 distances = sqDistances**0.5 sortedDistIndicies = distances.argsort()#将元素从小到大排列,并输出下标的index classCount={} for i in range(k): voteIlabel = labels[sortedDistIndicies[i]] classCount[voteIlabel] = classCount.get(voteIlabel,0) + 1#存入当前label以及对应的类别值,d.get(k, v)意思是如果k在d中,则返回d[k],否则返回v sortedClassCount = sorted(classCount.iteritems(), key=operator.itemgetter(1), reverse=True)#对类别字典进行逆排序,级别数目多的往前放,operator.itemgetter(1)代表和元素的第一个域进行比较 return sortedClassCount[0][0]
上述是knn部分的代码,使用方式为
group, labels = kNN.createDataSet();#创建数据集
kNN.classify0([0,0], group, labels, 3);#
归一化特征值:
def autoNorm(dataSet): minVals = dataSet.min(0) maxVals = dataSet.max(0) ranges = maxVals - minVals normDataSet = zeros(shape(dataSet)) m = dataSet.shape[0] normDataSet = dataSet - tile(minVals, (m,1)) normDataSet = normDataSet/tile(ranges, (m,1)) #element wise divide return normDataSet, ranges, minVals使用方法:
normMat, ranges, minvals = kNN.autoNorm(datingDataMat)
阅读全文
1 0
- 机器学习实战:KNN 代码注释(python)
- 机器学习实战 第二章KNN(1)python代码及注释
- KNN算法Python实现(代码来自机器学习实战)及注释
- 机器学习实战代码详细注释之kNN算法
- 机器学习实战ch02 KNN k-近邻算法代码注释
- 机器学习实战 KNN代码
- python 机器学习实战KNN
- 《机器学习实战》之KNN代码基础
- 机器学习实战——KNN代码
- 机器学习实战--KNN代码解析
- Python机器学习实战kNN分类算法
- 《机器学习实战》--KNN
- 【机器学习实战】KNN
- 机器学习实战--KNN
- 机器学习实战-kNN
- 机器学习实战-KNN
- 机器学习实战---kNN
- 机器学习实战-KNN
- Crond 与 Crontab
- MySQL数据库笔记(2 )
- php微信支付接口开发程序
- linux 考试编程预测 24小时删除
- 中文乱码在java中URLEncoder.encode方法要调用两次解决
- 机器学习实战:KNN 代码注释(python)
- eclipse 配置tomcat过程
- 文件描述符和文件指针的区别
- Java初始化与清理
- 对于RESTFUL架构的一点理解和总结
- Javascript高级程序设计 Ch3-5
- shell while用法
- LeetCode (Single Number II)
- struct和typedef struct