k邻近算法的伪代码:

  对未知类别属性的数据集中的每个点一次执行以下操作:

  (1)计算已知类别数据集中的点与当前点之间的距离;

  (2)按照距离递增次序排列

  (3)选取与当前点距离最小的k个点

  (4)确定前k个点所在类别的出现频率

  (5)返回前k个点出现频率最好的类别作为当前点的预测分类

python函数实现

'''
Created on Sep 16, 2010
kNN: k Nearest NeighborsInput:      inX: vector to compare to existing dataset (1xN)dataSet: size m data set of known vectors (NxM)labels: data set labels (1xM vector)k: number of neighbors to use for comparison (should be an odd number)Output:     the most popular class label@author: pbharrin
'''def classify0(inX, dataSet, labels, k):dataSetSize = dataSet.shape[0]      //输入的训练样本集dataSet的列数diffMat = tile(inX, (dataSetSize,1)) - dataSet //先对inX进行向量化处理,使之格式与dataSet一致,然后相减sqDiffMat = diffMat**2  //向量对应值差的平方sqDistances = sqDiffMat.sum(axis=1)//列的平方和的汇总distances = sqDistances**0.5 //开平方求距离sortedDistIndicies = distances.argsort()    classCount={}          for i in range(k):voteIlabel = labels[sortedDistIndicies[i]]classCount[voteIlabel] = classCount.get(voteIlabel,0) + 1  //选择距离最小的k个点sortedClassCount = sorted(classCount.iteritems(), key=operator.itemgetter(1), reverse=True) //排序return sortedClassCount[0][0]

转载于:https://www.cnblogs.com/davidwang456/p/9729676.html

机器学习实战读书笔记--k邻近算法KNN相关推荐

  1. 机器学习实战---读书笔记: 第11章 使用Apriori算法进行关联分析---2---从频繁项集中挖掘关联规则

    #!/usr/bin/env python # encoding: utf-8''' <<机器学习实战>> 读书笔记 第11章 使用Apriori算法进行关联分析---从频繁项 ...

  2. 机器学习:k邻近算法(KNN)

    title: 机器学习:k邻近算法(KNN) date: 2019-11-16 20:20:41 mathjax: true categories: 机器学习 tags: 机器学习 什么是K邻近算法? ...

  3. k邻近算法(KNN)实例

    一 k近邻算法原理 k近邻算法是一种基本分类和回归方法. 原理:K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数属于某个类,就把该输入实 ...

  4. python机器学习案例系列教程——K最近邻算法(KNN)、kd树

    全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 K最近邻简介 K最近邻属于一种估值或分类算法,他的解释很容易. 我们假设一个人的优秀成为设定为1.2.3.4.5.6.7.8.9.10 ...

  5. 机器学习实战第二章K近邻算法照葫芦画瓢实践。

    分别实现了最基本的3个DEMO 1.给你若干个带有标签的二维点作为训练集,给定一系列的二维随机点,看其通过训练集,可以被分为哪一类 2.给你N个人的飞行里程数,玩游戏消耗时间百分比和每周消耗冰激凌的公 ...

  6. 机器学习实战读书笔记(1)

    机器学习的主要任务: 分类:将实例数据划分到合适的分类中 回归:主要用于预测数值型数据 分类和回归属于监督学习,监督学习必须知道预测什么,即目标变量的分类信息 无监督学习:数据没有类别信息,也不会给定 ...

  7. 机器学习实战读书笔记--决策树

    1.决策树的构造 createBranch伪代码: 检测数据集中的每个子项是否属于同一分类: IF SO RETURN 类标签 ELSE 寻找划分数据集的最好特征 划分数据集 创建分支节点 FOR 每 ...

  8. 机器学习实战读书笔记(2)决策树

    信息熵是什么? 1. 信息论之父 C. E. Shannon 在 1948 年发表的论文"通信的数学理论( A Mathematical Theory of Communication )& ...

  9. 机器学习实战读书笔记(一)机器学习基础

    http://sourceforge.net/projects/numpy/files/ 下载对应版本的numpy,到处下不到,找到一个没python2.7 用pip吧, pip install nu ...

最新文章

  1. Python多版本pip安装库的问题
  2. 无法找到脚本文件adsutil.vbs的解决方法
  3. hdu 1022 Train Problem I 解题报告
  4. Win10 Build 11099和11102的更动超过1200项
  5. 苹果的Swift 2.0,Raspberry Pi Zero vs CHIP以及更多新闻
  6. 强制 Google.com 域名使用 HTTPS(SSL)
  7. VMware Cloud Director Availability 4.3 下载 | 灾难恢复和迁移 | DRaaS
  8. android开源人脸识别插件,face-android-demo
  9. Linuxan安装-安装-centos7
  10. 前端页面预览word_js打开word文档预览操作示例【不是下载】
  11. poj 3709 斜率优化
  12. 在Linux命令行中操作PDF
  13. mysql修改密码及变更权限
  14. SpringBoot启动代表出现Process finished with exit code 0
  15. c语言编译器a安卓,c语言编译器手机版下载-c语言编译器appv7.1 安卓版 - 极光下载站...
  16. 【数学建模】基于matlab武汉地铁2号线路线地图动态模拟【含Matlab源码 1092期】
  17. 关于Windows在ping虚拟机时出现请求超时的解决问题
  18. GIT面试题——分支
  19. 数据分析报告流程展现
  20. 百度文库的wenku前边加wap就能复制,优酷播放页youku后加xia就能直接下载视频

热门文章

  1. oracle 重做日志内容,Oracle重做日志文件基础
  2. python翻译成matlab_matlab语言转译成python
  3. 使用ado直接连接mysql_使用ADO直接连Mysql ,不经过ODBC
  4. mysql.max links_Mysql的max_allowed_packet设定
  5. mysql 二维表 查询_二维报表数据表设计
  6. 《基于张量网络的学习入门》学习笔记3
  7. 机器学习——数据降维
  8. C语言中动态数组的作用,C语言实现动态数组
  9. C++ 命名空间 实战(二)之 直接数组访问迭代器访问
  10. 激光点云感知 voxnet本质