专栏首页用户画像机器学习——KNN邻近算法

机器学习——KNN邻近算法

一. KNN算法介绍

1、KNN 算法概述 Cover和Hart在1968年提出了最初的邻近算法。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。KNN是一种分类(classification)算法,它输入基于实例的学习(instance-based learning),属于懒惰学习(lazy learning)即KNN没有显式的学习过程,也就是说没有训练阶段,数据集事先已有了分类和特征值,待收到新样本后直接进行处理。KNN是通过测量不同特征值之间的距离进行分类。

KNN算法的思路是:如果一个样本在特征空间中的k个最邻近的样本中的大多数属于某一个类别,则该样本也划分为这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。

2、KNN算法实现步骤 1)计算测试数据与各个训练数据之间的距离;  2)按照距离的递增关系进行排序;  3)选取距离最小的K个点  4)确定前K个点所在类别的出现频率  5)返回前K个点中出现频率最高的类别作为测试数据的预测分类

3、KNN算法中K值的选择(交叉验证)

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import cross_val_score#引入交叉验证
import  matplotlib.pyplot as plt
###引入数据###
iris=datasets.load_iris()
X=iris.data
y=iris.target
###设置n_neighbors的值为1到30,通过绘图来看训练分数###
k_range=range(1,31)
k_score=[]
for k in

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 潘石屹用python解决100个问题 | 数据类型

    week
  • Java HttpClient两种数据传输方式

    二、server端的数据接收方式,使用@RequestBody接收二进制字节流,使用@RequestParam接收参数列表

    week
  • python读取Excel

    week
  • 5年内不得晋升!中科院“木兰”换皮Python涉事人被处分:涉及虚假欺瞒,岗位等级削减一级

    1月23日,中国科学院计算技术研究所,官网发布关于“木兰”语言问题的调查与处理意见。

    量子位
  • ICDM 2019最佳论文:从图片、文本到网络结构数据翻译,一种新型的多属性图翻译模型

    文中还提出了一种特殊形式的基于拉普拉斯图频谱的正则化方法,来学习和保持图节点和边属性的一致化。最后,在对合成和实际应用数据(物联网安全优化,化学反应预测)的大量...

    机器之心
  • USB4规范公布:基于雷电3 Type-C接口带宽达40Gbps

    今年3月初,USB-IF官方组织宣布了下一代USB4(注意不是USB 4.0)。现在,USB4标准规范正式公布了!

    碎碎思
  • 【一起学源码-微服务】Nexflix Eureka 源码二:EurekaServer启动之配置文件加载以及面向接口的配置项读取

    上篇文章已经介绍了 为何要读netflix eureka源码了,这里就不再概述,下面开始正式源码解读的内容。

    一枝花算不算浪漫
  • Internationalization(i18n) support in SAP CRM,UI5 and Hybris

    i18n(其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数)是“国际化”的简称。对程序来说,在不修改内部代码的情况...

    Jerry Wang
  • USB 4规范正式公布:基于雷电3 Type-C接口 带宽达40Gbps

    今年3月初,USB-IF官方组织宣布了下一代 USB4 (注意不是USB 4.0)。现在,USB4标准规范正式公布了!USB绝对是科技史上应用范围最广的接口,而...

    Debian社区
  • mybatis统计每条SQL的执行时间

    最近被问到mybatis统计每条SQL的执行时间,然而虽然我第一时间想到可以通过切面编程来实现,但是平时还真是没有留意这个问题,所以就查阅了一下资料,总结一下,...

    用户3467126

扫码关注云+社区

领取腾讯云代金券