k-近邻算法是采用不同特征之间的距离方法进行分类。

优点:精度高、对异常值不敏感、无数据输入假定

缺点:计算复杂度高、空间复杂度高

k-近邻算法的一般流程

(1)收集数据集:可以使用任何方法

(2)准备数据集:距离计算所需要的数值,最好是结构化的数据格式

(3)分析数据:可以使用任何方法

(4)训练数据集:此步骤不适用与k-近邻算法

(5)测试算法:计算错误率

(6)使用算法:首先需要输入样本数据和结构化输出结果,然后运行k-近邻算法判断输入数据分别属于那个分类,最后应用对计算出的分类执行后续的处理。

2.1.1 准备:使用Python导入数据

#createDataSet()

2.1.2 实施K-近邻算法

K-近邻算法的伪代码:

对未知属性集中的每个点依次执行以下操作:

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

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

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

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

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

#K-近邻算法

2.1.3 通过学习函数理解K-近邻算法

看了上述KNN的实现,可能大家还是一头雾水,因为其中用到了很多内嵌函数,所以下面我们就先来学习这些内嵌函数。

1.tile函数

函数形式是tile(A,reps)
A的类型几乎所有类型都可以:array,list,tuple,dict,matrix以及基本的数据类型int,string,float,bool等。
reps的类型可以使tuple,list,dict,array,int,bool但不可以是float,string,matrix。

import 

2.shape函数

功能是读取矩阵的长度,输入参数可以是一个整数表示维度,也可以是一个矩阵。
举例说明:

import 

3.sum函数

sum(a,axis=0)或者sum(axis=1)
axis=0就是普通的相加,axis=1则是将一个矩阵的每一行向量相加
举例说明:

import 

4.argsort函数

返回数组值从小到大的索引值
举例说明:

import 

参考链接

《机器学习实战》

Python中的tile函数,shape函数,sum函数,argsort函数,Python交流,技术交流区,鱼C论坛 - Powered by Discuz!

(出处: 鱼C论坛)

转了吗赞了吗在看吗

k近邻算法_K近邻算法(一)相关推荐

  1. k近邻算法_K近邻(knn)算法是如何完成分类的?

    摘要:K近邻算法是机器学习中的一个非常基础的算法.本文通过自生成数据,通过绘图的方式演示KNN算法的思路,让你不看数学公式就看了解什么是KNN算法. 关键词:KNN算法 1 生成一个二分类的数据集 本 ...

  2. java实现k 近邻算法_K近邻算法哪家强?KDTree、Annoy、HNSW原理和使用方法介绍

    1.什么是K近邻算法 K近邻算法(KNN)是一种常用的分类和回归方法,它的基本思想是从训练集中寻找和输入样本最相似的k个样本,如果这k个样本中的大多数属于某一个类别,则输入的样本也属于这个类别. 关于 ...

  3. 介绍一下K近邻(KNN)算法,KNeighbors和RadiusNeighbors的差异是什么?各有什么优势?

    介绍一下K近邻(KNN)算法,KNeighbors和RadiusNeighbors的差异是什么?各有什么优势? K近邻(KNN)算法 近邻(Nearest Neighbor)算法既可以用于监督学习(分 ...

  4. K近邻(KNN)算法是基于实例的算法,如果训练样本数量庞大,预测的时候挨个计算距离效率会很低下,如何破解?

    K近邻(KNN)算法是基于实例的算法,如果训练样本数量庞大,预测的时候挨个计算距离效率会很低下,如何破解? K近邻(KNN)是最简单的算法之一,它计算预测样本与训练数据集中每个数据点之间的距离,并找到 ...

  5. k近邻算法(KNN)-分类算法

    k近邻算法(KNN)-分类算法 1 概念 定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别. k-近邻算法采用测量不同特征值之间的 ...

  6. K近邻模型、KNN算法1-构建预测模型

    K近邻模型.KNN算法1-构建预测模型 案例 假设你已经清洗好了一份同类型的商品信息和价格数据,如果给一个同品类全新的商品,你如何给它定价或预测它的价格? 比如,这个商品是红酒.你已经获取到了一批红酒 ...

  7. 一文搞懂k近邻(k-NN)算法(一)

    原文链接 一文搞懂k近邻(k-NN)算法(一) 前几天和德川一起在学习会上讲解了k-NN算法,这里进行总结一下,力争用最 通俗的语言讲解以便更多同学的理解. 本文目录如下: 1.k近邻算法的基本概念, ...

  8. K近邻(KNN)算法总结

    文章目录 一.KNN原理 二.KNN的三要素 2.1 k值的选择 2.2 距离度量 2.3 分类决策规则 三.KNN算法实现 3.1 KNN算法蛮力实现 3.2 KD树实现 3.3 球树实现 四.KN ...

  9. 机器学习路程——k近邻(KNN)算法(python实现)

    使用python库sklearn,pandas 数据来源:kaggle Facebook V: Predicting Check Ins 数据网址:https://www.kaggle.com/c/f ...

  10. 机器学习之Javascript篇: 近邻(k-nearest-neighbor) 算法介绍

    翻译:王维强 我的目的是使用一门通用语言来教授机器学习,内容涵盖基础概念与高级应用.Javascript是一个非常好的选择,最明显的优点就是对运行环境没有特殊要求.另外,因为该语言缺乏与机器学习相关的 ...

最新文章

  1. The maximum string content length quota (8192) has been exceeded while reading XML data
  2. html坐标轴背景色,CSS 背景(css background)
  3. TeamCity构建依赖项
  4. 天齐锂业高管减持后定增160亿 收到深交所关注函
  5. JAVA实现ATM源代码及感想
  6. 10岁女程序员,婉拒谷歌Offer,研发全球首款AI桌游,现在是一名CEO
  7. C++ STL 堆(heap)的初始化及其正确使用
  8. django 与 mysql 勾结指南
  9. exchange2003系列总结:-5邮件加密与签名的工作流程
  10. 浅析百度搜索引擎白皮书
  11. Qt三方库开发技术:Qt应用内部打开PDF文件
  12. 疯狂java 视频_疯狂Java讲义配书视频教程 下载
  13. 【GIS开发】Esri Shapefile(.shp)矢量数据文件读取(C++、Python)
  14. ACG识图搜索引擎整合及优势分析
  15. 【测试】使用selenium实现QQ邮箱登录
  16. “The file being opened for reading does not exist“-HyperMesh
  17. 升级成RESP3后,不仅多了13种新的数据类型,效率也提升了
  18. IoT僵尸网络Miori通过ThinkPHP远程代码执行漏洞进行传播
  19. Android(cacerts.bks)添加根证书
  20. [墨者学院] 日志文件分析溯源(脱裤的IP地址)

热门文章

  1. KVM虚拟化技术原理简介
  2. Windows环境下Redis安装与配置的两种方式
  3. (Python)计算器的设计与实现
  4. 资源 | 最新版区块链术语表(中英文对照)
  5. 16种常见的竞品分析方法,建议收藏!
  6. 常见入门级显卡性能分析及对比(不定期更新)
  7. 【django】短信验证码接口设计、互亿无线短信平台、后端逻辑、前端逻辑【16】
  8. 2023南京财经大学计算机考研信息汇总
  9. 3D游戏引擎技术架构设计
  10. QThread如何优雅实现暂停(挂起)功能