K近邻---Python---机器学习
来源:互联网 发布:变换发型的软件 编辑:程序博客网 时间:2024/06/08 13:47
KNN算法伪代码:
实现KNN算法基础程序:
"""Created on Tue Oct 11 19:05:33 2016@author: Administrator"""from numpy import * #科学计算包import operator #运算符模块def creatDataSet(): group=array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]]) #创建数据集 labels=['A','A','B','B'] #创建标签 return group,labels #inX,用于分类的输入向量。即将对其进行分类。def classify0(inX,dataSet,labels,k): # inX用于需要分类的数据,dataSet输入训练集######输入与训练样本之间的距离计算###### dataSetSize=dataSet.shape[0] # 读取数据集行数,shape[1]则为列数 diffMat=tile(inX,(dataSetSize,1)) -dataSet #tile:numpy中的函数。tile将原来的一个数组,扩充成了4个一样的数组。 #diffMat得到了目标与训练数值之间的差值。 sqDiffMat=diffMat**2 #各个元素分别平方 sqDistances=sqDiffMat.sum(axis=1) # 每一个列向量相加,axis=0为行相加 #对应列相乘,即得到了每一个距离的平方 distances=sqDistances**0.5 #开方,得到距离。 sortedDistIndicies=distances.argsort() #升序排列 #选择距离最小的k个点。 classCount={} for i in range (k): voteIlabel=labels[sortedDistIndicies[i]] #排名前k个贴标签 classCount[voteIlabel]=classCount.get(voteIlabel,0)+1 #get(key,default=None),就是造字典 ######找到出现次数最大的点###### #以value值大小进行排序,reverse=True降序 sortedClassCount=sorted(classCount.iteritems(),key=operator.itemgetter(1), reverse=True) #key = operator.itemgetter(1),operator.itemgetter函数 #获取的不是值,而是定义了一个函数,通过该函数作用到对象上才能获取值 return sortedClassCount [0] [0] #返回出现次数最多的value的key
欧氏距离计算:
dataSetSize=dataSet.shape[0] # 读取数据集 diffMat=tile(inX,(dataSetSize,1)) -dataSet #做扩展 sqDiffMat=diffMat**2 #平方 sqDistances=sqDiffMat.sum(axis=1) #列向量累加 distances=sqDistances**0.5 #开方
选择距离最小的K个点:
classCount={}for i in range (k): #排名前K个 voteIlabel=labels[sortedDistIndicies[i]] #排名前k个贴标签 classCount[voteIlabel]=classCount.get(voteIlabel,0)+1 #分类计数 sortedClassCount=sorted(classCount.iteritems(),key=operator.itemgetter(1),reverse=True) #计数排序
return sortedClassCount [0] [0] #返回排序次数最多的
0 0
- K近邻---Python---机器学习
- python机器学习之K近邻算法
- 机器学习 & python k-近邻算法
- python机器学习之 K-近邻算法
- 4.1K近邻--python机器学习
- 机器学习,k近邻分类器,python,
- 【机器学习】K-近邻算法的Python实现
- 机器学习实战2:k近邻算法KNN(python)
- 机器学习 & python k-近邻算法处理手写识别系统
- 机器学习python实战——K近邻算法
- Python与机器学习(三):K-近邻算法
- Python机器学习实战--(k-近邻算法)
- 机器学习之K-近邻算法(Python描述)基础
- 机器学习----K-近邻算法(Python代码详解)
- 机器学习python,k近邻分类器,三维作图
- 用Python实现机器学习算法---k近邻算法
- python机器学习实战1:实现k-近邻算法
- 机器学习实战笔记(Python)-01-K近邻算法(KNN)
- Jenkins REST API 使用指北
- UIViewAnimationOptions类型与modalTransitionStyle模态样式
- Android7.0 IMS(1)开机初始化
- Docker pull 使用代理
- MDI环境下枚举所有打开的窗口
- K近邻---Python---机器学习
- js代码加载外部css和js文件
- android Drawable setbounds()介绍
- selenium 获得页面cookie信息
- js基础:数组基础和数组方法的各种使用
- 【Android】AndroidStudio导入别人的项目报错。编译通过,无法运行解决方案
- Laravel Eloquent ORM--整理
- php error_log 函数的使用
- Rails Gem开发(一)——Carrierwave 实现文件上传