<machine learning traning> KNN
来源:互联网 发布:阿根廷生活知乎 编辑:程序博客网 时间:2024/06/06 02:07
func: open().readline.strip().split('\t');zeros,index+=1
#func:add_subplot,scatter
func: min(0),tile
from numpy import *import operatordef createDataSet(): group=array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]]) labels=['A','A','B','B'] return group,labelsdef classify0(inX,dataSet,labels,k): dataSetSize=dataSet.shape[0] diffMat=tile(inX,(dataSetSize,1))-dataSet #tile(A,reps) sqDiffMat=diffMat**2 sqDistance=sqDiffMat.sum(axis=1) distances=sqDistance**0.5 sortedDistIndicies=distances.argsort() classCount={} for i in range(k): votelabel=labels[sortedDistIndicies[i]] classCount[votelabel]=classCount.get(votelabel,0)+1 sortedClassCount=sorted(classCount.iteritems(),key=operator.itemgetter(1),reverse=True) return sortedClassCount[0][0]def filename(filename):classLabel=[]returnMat=zeros((len(open(filename).readlines()),3))index=0for line in open(filename).readlines():line=line.strip().split('\t')if line!=['']:classLabel.append(int(line[-1]))returnMat[index,:]=line[0:3]index+=1returnMat=returnMat[:len(classLabel),:]return returnMat,classLabeldef autonorm(data):min=data.min(0)max=data.max(0)range=max-minnorm=data-tile(min,(data.shape[0],1))norm=norm/tile(range,(data.shape[0],1))return norm,range,mindef test():error=0data,label=filename('dating.txt')norm,ranges,min=autonorm(data)m=data.shape[0]n=int(0.1*m)for i in range(n):result=classify0(norm[i,:],norm[n:m,:],label[n:m],3)if(result!=label[i]):error+=1print result,label[i]print "the error ratio is %f" %(error/float(n))def classify():resultlist=['not at all','in small doses','in large doses']a=float(raw_input("the first argument: "))b=float(raw_input("the second argument: "))c=float(raw_input("the third argument: "))x=array([a,b,c])data,label=filename('dating.txt')norm,ranges,mini=autonorm(data)result=classify0((x-mini)/ranges,norm,label,3)print "you probably like this person: %s" %(resultlist[result-1])
阅读全文
0 0
- <machine learning traning> KNN
- 【machine learning】KNN算法
- Pythonic machine learning:KNN
- Machine Learning---1--KNN
- MACHINE LEARNING IN ACTION KNN
- 【用Python玩Machine Learning】KNN * 序
- 【用Python玩Machine Learning】KNN * 测试
- Machine Learning In Action:KNN(Python)
- Machine learning in action ch02 KNN笔记
- 【Machine Learning in Action】Chap1|Classification|kNN
- Machine Learning 笔记之KNN算法
- Machine Learning In Action -- kNN的python实现
- 【用Python玩Machine Learning】KNN * 代码 * 一
- 【用Python玩Machine Learning】KNN * 代码 * 二
- Machine Learning In Action -- kNN (k Nearest Neighbors)
- Machine Learning in Action_CH2_3_使用kNN手写数字识别
- Machine Learning in action –kNN(已勘误)
- 【Machine Learning】KNN学习算法与C语言实现
- 二叉搜索树详解链式与数组式实现
- nyoj-58 最少步数
- JSTL核心标签库中的用法
- 转载-Android运行时异常“Binary XML file line # : Error inflating class”
- Kubernetes 核心原理 之一
- <machine learning traning> KNN
- java list对元素进行指定多个字段属性按多种排序方式进行排序
- C++ 调用打印机 打印一段文字
- 不错的递归题:输入123,返回“321”。 要求必须用递归,不能用全局变量,输入必须是一个参数,必须返回字符串。
- 1css基本语法
- Nginx学习初探
- 虚拟现实技术怎么玩
- 1001.害死人不偿命的(3n+1)猜想
- 华裔科学家张首晟发现天使粒子:物理学界再迎重大突破