《机器学习实战》学习笔记一:k-近邻算法(kNN)
2018-01-18 21:55
447 查看
k-近邻算法(以下简称kNN)是分类算法中比较简单的一种,KNN算法的一般流程为:(1)收集数据,如从文件中导入数据(2)准备数据,将数据转化为适合计算的格式,如矩阵的形式(3)分析数据(4)测试数据,计算分类的错误率(5)应用算法,给定输入,得到相应的输出,指出改数据属于哪一种分类。
kNN算法的过程如下:
(1)计算数据集中各点与当前点(给定数据)之间的距离;
(2)按照距离的递增次序排序;
(3)选取与当前点距离最小的k个点
(4)统计前k个点所在的类别出现的频率
(5)返回频率最高的点所在的类别,此类别为当前点的预测分类
具体实现代码如下:
kNN算法的过程如下:
(1)计算数据集中各点与当前点(给定数据)之间的距离;
(2)按照距离的递增次序排序;
(3)选取与当前点距离最小的k个点
(4)统计前k个点所在的类别出现的频率
(5)返回频率最高的点所在的类别,此类别为当前点的预测分类
具体实现代码如下:
def classify0(inX, dataSet, labels, k): dataSetSize = dataSet.shape[0] #返回矩阵的行数 diffMat = tile(inX, (dataSetSize,1)) - dataSet sqDiffMat = diffMat**2 sqDistances = sqDiffMat.sum(axis=1)#计算两点间的距离 sortedDistIndicies = distances.argsort() #按照距离从小到大的顺序对下标排序 classCount={} for i in range(k): voteIlabel = labels[sortedDistIndicies[i]] classCount[voteIlabel] = classCount.get(voteIlabel,0) + 1 sortedClassCount = sorted(classCount.items(), key=operator.itemgetter(1), reverse=True) #统计分类出现的频率,并且按照从高到低排序 # iteritems()是python2.x中的,在python3.x废除了在这里用items return sortedClassCount[0][0]
相关文章推荐
- 《机器学习实战》学习笔记——K-近邻算法(KNN)(二)海伦约会网站匹配实战
- 《机器学习实战》学习笔记——K-近邻算法(KNN)(一)分类器的简单实现
- 【机器学习实战】第2章 K-近邻算法(k-NearestNeighbor,KNN)
- 【机器学习实战】第2章 k-近邻算法(kNN)
- 《机器学习实战》学习笔记(三)之K-近邻算法
- 《机器学习实战》读书笔记2:K-近邻(kNN)算法 & 源码分析
- 《机器学习实战》学习笔记(1)——k-近邻算法
- 《机器学习实战》学习笔记之k-近邻算法1
- 《机器学习实战》——2.k-近邻算法(KNN )函数总结
- 《机器学习实战》学习笔记:k-近邻算法实现
- 《机器学习实战》学习笔记——kNN算法
- Python3《机器学习实战》学习笔记(一):k-近邻算法(史诗级干货长文)
- 《机器学习实战》学习笔记二:kNN算法实例 -- 手写体识别
- 《机器学习实战》学习笔记之k-近邻算法2
- 学习笔记——《机器学习实战》KNN算法实现 约会网站测试,手写数字识别,代码,注释,错误修改
- 《机器学习实战》k-近邻算法概述-程序清单详解kNN.py(未完待续)
- 《机器学习实战》(二)k-近邻算法(KNN)
- 《机器学习实战》学习笔记:k-近邻算法的两个应用场景
- 【机器学习实战】第2章 K-近邻算法(KNN)
- 《机器学习实战》学习笔记之k-近邻算法3