kNN算法即k近邻算法,是机器学习领域几乎最简单的入门算法,属于可以直接调用各类机器学习算法库中封装好的kNN算法,自己实现起来也并不麻烦,本文实现的是kNN算法的分类算法。

k近邻算法是非常特殊的,可以被认为是没有模型的机器学习算法,但为了和其他算法相统一,可以认为训练数据集就是模型本身。

kNN算法原理:对于需要预测的数据样本,找出测试数据中相隔最近的K个数据样本,统计出K个样本中占比最高的所属类别,即为预测数据的所属类型。

import numpy as np
from math import sqrt
from collections import Counterraw_data_X = [[3.393533211, 2.331273381],[3.110073483, 1.781539638],[1.343808831, 3.368360954],[3.582294042, 4.679179110],[2.280362439, 2.866990263],[7.423436942, 4.696522875],[5.745051997, 3.533989803],[9.172168622, 2.511101045],[7.792783481, 3.424088941],[7.939820817, 0.791637231]]                                 # 训练数据的feature
raw_data_Y = [0, 0, 0, 0, 0, 1, 1, 1, 1, 1]    # 训练数据的labelX_train = np.array(raw_data_X)
y_train = np.array(raw_data_Y)x_test = np.array([8.093607318, 3.365731514])    #待测试的数据的feature
distances = []                                   #存储测试数据到训练数据distance的list
for this_train in X_train:d = sqrt(np.sum( (this_train-x_test)**2 ))   #两feature的平方和开方即是距离distances.append(d)nearest = np.argsort(distances)                  #排序,返回距离从小到大值对应的索引下标K = 3                                            #比较最近距离的3个样本
nearK_y = [y_train[i] for i in nearest[:K]]
votes = Counter(nearK_y)
votes.most_common(1)[0][0]

kNN(k-nearest-neighbor)算法的Python实现相关推荐

  1. K NEAREST NEIGHBOR 算法(knn)

    K Nearest Neighbor算法又叫KNN算法,这个算法是机器学习里面一个比较经典的算法, 总体来说KNN算法是相对比较容易理解的算法.其中的K表示最接近自己的K个数据样本.KNN算法和K-M ...

  2. K Nearest Neighbor 算法

    K Nearest Neighbor算法又叫KNN算法,这个算法是机器学习里面一个比较经典的算法, 总体来说KNN算法是相对比较容易理解的算法.其中的K表示最接近自己的K个数据样本.KNN算法和K-M ...

  3. 机器学习之深入理解K最近邻分类算法(K Nearest Neighbor)

    [机器学习]<机器学习实战>读书笔记及代码:第2章 - k-近邻算法 1.初识 K最近邻分类算法(K Nearest Neighbor)是著名的模式识别统计学方法,在机器学习分类算法中占有 ...

  4. k Nearest Neighbor Algorithm

    k Nearest Neighbor Algorithm k Nearest Neighbor(kNN) algorithm算法和k-Means算法一样,都是简单理解,但是实际效果出人意料的算法之一. ...

  5. 文献记录(part81)--Clustering-based k -nearest neighbor classification for large-scale data with ...

    学习笔记,仅供参考,有错必纠 文章目录 Clustering-based k -nearest neighbor classification for large-scale data with ne ...

  6. 机器学习——K近邻算法(KNN)(K Nearest Neighbor)

    参考视频与文献: python与人工智能-KNN算法实现_哔哩哔哩_bilibili 机器学习--K近邻算法(KNN)及其python实现_清泉_流响的博客-CSDN博客_python实现knn 机器 ...

  7. 机器学习——K近邻分类算法及python代码实现

    <机器学习:公式推导与代码实践>鲁伟著读书笔记. K近邻(K-nearest neighbor,K-NN)算法是一种经典的监督学习的分类方法.K近邻算法是依据新样本与k个与其相邻最近的样本 ...

  8. kNN算法(k近邻算法,k Nearest Neighbor)

    主要内容: 1.认识kNN算法 2.kNN算法原理 3.应用举例 4.kNN改进方法 1.认识knn算法 "看一个人怎么样,看他身边的朋友什么样就知道了",kNN算法即寻找最近的K ...

  9. python图像分割_基于K均值聚类算法的Python图像分割

    1个K均值算法 实际上,K-means算法是一种非常简单的算法,与算法思想或特定实现无关. 通过以一定方式测量样本之间的相似度,并迭代更新聚类中心,它属于无监督分类. 当聚类中心不再移动或移动差异小于 ...

最新文章

  1. 所有各数据库或文件的连接串定义CHM文件.
  2. 转 linux进程内存到底怎么看 剖析top命令显示的VIRT RES SHR值
  3. php5.4dev版本是,ubuntu 编译安装php5.4以上版本
  4. 标记三维点_三维扫描仪对汽车钣金外形检测折弯件钣金件热成型加工件的应用...
  5. CentOS7安装Zabbix
  6. python中readlines,在Python中连续两次使用readlines
  7. ensp查看历史配置命令_华为eNSP常用命令
  8. springboot redis 断线重连_Redis高可用方案实现
  9. python 购物车程序_python_购物车程序
  10. 《Python Cookbook 3rd》笔记(5.10):内存映射的二进制文件
  11. flutter不支持热更新_Flutter 在安卓上可以实现热更新了
  12. butterknife 不能绑定错误
  13. 机器学习中应用到的各种距离介绍(附上Matlab代码)
  14. 加密解密:使用对称密码加密文件
  15. Windows 7 SP1 旗舰版 MSDN原版
  16. STM32 USB Host 鼠标和键盘驱动 -- 原创
  17. ACdream 1430 SETI 后缀自动机
  18. 从页面获取form表单提交的数据
  19. Windows 7防火墙设置详解(一)
  20. [课业] 18 | 软工 | 软件体系结构基础

热门文章

  1. 编译C++11/14方法
  2. gb28181的sip通信
  3. Rtsp之rtp包解析
  4. 代码实现WordPress 在文章内容的段落中插入广告google adsense
  5. linux学习笔记:我的第一个shell脚本
  6. 自动检测技术学习心得体会_公司参加中机建设首届BIM技术应用培训班人员顺利结业...
  7. MySQL中查询字段为空或者为null方法
  8. 设计模式--工厂模式(简单总结)
  9. 我的世界1.8正版服务器大全,史上最全服务器汇总 我的世界1.8服务器地址大全...
  10. 静态内部类实现单例_为什么用枚举类来实现单例模式越来越流行?