2_3最近邻算法kNN(k_nearest_neighbor)——autoNorm_2_3
来源:互联网 发布:warframe 淘宝队长包 编辑:程序博客网 时间:2024/06/05 15:05
声明:《机器学习实战》代码详细注释和重构,以及相关的函数、模块和算法的解释;本文为博主原创文章,未经博主允许不得转载。
1.归一化特征值(程序清单2-3)
*#代码:Peter Gong_shuai
*#中文注释:Gong_shuai
*#代码重构:Gong_shuai
*#函数注解:Gong_shuai
*#相关的函数、模块和算法的解释:Gong_shuai
*#环境:Python2.7、Sublime Text3、mac
- 代码
#coding=utf-8#归一化特征值(程序清单2-3)#源代码:Peter Gong_shuai#中文注释:Gong_shuai#代码重构:Gong_shuai#函数注解:Gong_shuai#环境:python2.7from numpy import * #处理输入格式问题,输入为文件名字符串,输出为训练样本矩阵和类标签向量def file2matrix(filename): fr = open(filename) numberOfLines = len(fr.readlines()) #得到文本行数 returnMat = zeros((numberOfLines,3)) #创建以零填充的矩阵,为了简化,另外的一个维度设为3 classLabelVector = [] #返回标签 fr = open(filename) #解析文件数据到列表,循环处理文件中的每一行的数据 index = 0 for line in fr.readlines(): line = line.strip() #截取掉所有的回车字符 listFromLine = line.split('\t') #将整行数据分割成一个元素列表 returnMat[index,:] = listFromLine[0:3] #选取前三个元素,存储到特征矩阵中 classLabelVector.append(int(listFromLine[-1])) index += 1 return returnMat,classLabelVector#归一化特征值 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))#注意事项:特征值矩阵有1000*3个值。而minVals和range的值都为1*3.为了解决这个问题使用numpy中tile函数将变量内容复制成输入矩阵同样大小的矩阵 normDataSet = normDataSet/tile(ranges, (m,1)) #element wise divide矩阵除法 return normDataSet, ranges, minValsdatingDataMat,datingLabels = file2matrix('datingTestSet2.txt')#读取文件数据normMat, ranges, minVals = autoNorm(datingDataMat)print(normMat)print(ranges)print(minVals)
- 运行结果
0 0
- 2_3最近邻算法kNN(k_nearest_neighbor)——autoNorm_2_3
- 2_1最近邻算法kNN(k_nearest_neighbor)——classify0_2_1
- 2_2最近邻算法kNN(k_nearest_neighbor)——file2matrix_2_2
- 2_4最近邻算法kNN(k_nearest_neighbor)——datingClassTest_2_4
- 2_5最近邻算法kNN(k_nearest_neighbor)——classifyPerson_2_5
- 2_6最近邻算法kNN(k_nearest_neighbor)——handwritingClassTest_2_6
- 最近邻算法KNN
- KNN最近邻算法
- 最近邻算法(KNN)
- 最近邻算法(KNN)
- 最近邻算法(KNN)
- KNN K最近邻算法
- K最近邻算法(kNN)
- k最近邻算法(kNN)
- k最近邻(KNN)——实践
- K最近邻结点算法(k-Nearest Neighbor algorithm)KNN——python简单实现
- 机器学习十大经典算法—KNN(最近邻)
- 算法一 knn 中的 最近邻搜索
- Number Complement
- echarts的应用(利用后台传回json创建统计图,以及和ext的关联使用等)
- 基于qt和opencv3实现机器学习之:对OCR进行分类
- 排序(二)
- angular 模板循环ng-container
- 2_3最近邻算法kNN(k_nearest_neighbor)——autoNorm_2_3
- 50-使用 epoll 改写服务器
- bit 位设值?
- java实现排序(2)-冒泡排序
- 多分类问题中查全率和查准率的理解(Precision-Recall)
- OrientDB入门
- 测试第一篇博客
- HashMap实现原理分析
- jconsole远程连接tomcat查看服务器运行情况(jdk1.8+tomcat 8)