示例代码

首先引入相关包

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

数据

Raw_data_X = [[3.4,2.3],[3.1,1.7],[1.3,3.3],[3.6,4.6],[2.2,2.8],[7.4,4.6],[5.7,3.5],[9.17,2.5],[7.8,3.4],[8,0.8]]
print(Raw_data_X)
Raw_data_y = [0,0,0,0,0,1,1,1,1,1]

放入np数组加快程序速度

X_train = np.array(Raw_data_X)
y_train = np.array(Raw_data_y)

可视化一下数据集

plt.scatter(X_train[y_train == 0,0],X_train[y_train == 0,1],color = 'g')
plt.scatter(X_train[y_train == 1,0],X_train[y_train == 1,1],color = 'b')
#knn的过程
x = np.array([8.09,3.36])
plt.scatter(x[0],x[1],color = 'r')

重点来了,KNN的过程
第一种写法,x_tarin是一个有两个数字的列表-[3.4,2.3]…一共循环10次取完
最终将距离全部方法distance

#knn的过程
distances = []#距离
#欧拉距离
for x_train in X_train:d = np.sqrt(np.sum((x_train - x) ** 2))#对每一个元素都平方并求和distances.append(d)#放进distances列表中

更简洁的写法,列表生成式

distances = [np.sqrt(np.sum((x_train - x) ** 2)) for x_train in X_train]

用np.argsort对distances进行从小到大排序然后,返回对应的索引

nearest = np.argsort(distances)#从进到远
print(nearest)


使得K=6,取距离最近的6个点的距离,依然使用列表生成式的写法

k = 6
topK_y = [y_train[i] for i in nearest[:k]]
print(topK_y) #0有一票1有五票

看看对应的类别标签

然后计数,这是一个投票的过程
首先引入包,collection,利用Conter函数进行计数

from collections import Counter
Counter(topK_y)#这是一个投票的过程

类别1

votes = Counter(topK_y)

找出投票最多的元素

print(votes.most_common(1))#找出票数最多的元素

1是其类别值,5是其次数

把结果存储起来,则x属于类别1


Python机器学习:KNN算法之01KKN基础相关推荐

  1. 机器学习 —— KNN算法简单入门

    机器学习 -- KNN算法简单入门 第1关:手动实现简单kNN算法 1 KNN算法简介 1.1 kNN 算法的算法流程 1.2 kNN 算法的优缺点 1.3 编程要求+参数解释 2. 代码实现 3. ...

  2. Python实现kNN算法

    Python实现kNN算法 1. 原理 k-最近邻: kNN(k-NearestNeighbor)分类算法机器学习中最简单的分类方法之一.所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用 ...

  3. 机器学习knn算法学习笔记使用sklearn库 ,莺尾花实例

    ** 机器学习knn算法学习笔记使用sklearn库 ,莺尾花实例. 具体knn算法是怎样的我这里就不再详细论述.在这里我注意总结我使用knn算法进行一个分类的分析 ** 分析过程 1.前期准备 引入 ...

  4. 课程设计(毕业设计)—基于机器学习KNN算法手写数字识别系统—计算机专业课程设计(毕业设计)

    机器学习KNN算法手写数字识别系统 下载本文手写数字识别系统完整的代码和课设报告的链接(或者可以联系博主koukou(壹壹23七2五六98),获取源码和报告):https://download.csd ...

  5. 机器学习KNN算法实践:预测城市空气质量

    出品:Python数据之道 作者:叶庭云 整理:Lemon 机器学习KNN算法实践 预测城市空气质量 「Python数据之道」导读: 之前在公众号上分享过 "图解KNN算法" 的内 ...

  6. Python实现KNN算法(鸢尾花集)

    不同颜色的鸢尾花花语不尽相同,蓝色鸢尾花语是精致的美丽,红色鸢尾花的花语代表着热情.适应力强.紫蓝色鸢尾花花语代表着好消息.想念你.黄色鸢尾花的花语代表着友谊永固.热情开朗,白色鸢尾花花语代表着纯真. ...

  7. 机器学习——KNN算法

    机器学习--KNN算法 文章目录 机器学习--KNN算法 前言 一.KNN原理基础 二.sklearn的基本建模流程 三.KNN算法调优:选取最优的K值 四.KNN中距离的相关讨论 1. KNN使用的 ...

  8. 机器学习 KNN算法实践

    作者 | 叶庭云 来源 | 修炼Python 头图 | 下载于视觉中国 KNN算法简介 KNN(K-Nearest Neighbor)最邻近分类算法是数据挖掘分类(classification)技术中 ...

  9. 用Python实现KNN算法(从原理到代码的实现)

    用Python实现KNN算法(从原理到代码的实现) 环境 1.Pycharm 2.python3.6 声明:本栏的所有文章皆为本人学习时所做笔记而整理成篇,转载需授权且需注明文章来源,禁止商业用途,仅 ...

最新文章

  1. wide_and_deep 思维导图和代码
  2. One-Stage Visual Grounding论文汇总
  3. 2019-11-13 惯性环节怎么写成m语言
  4. 如何在 ASP.NET Core 中实现全局异常拦截
  5. [Leedcode][JAVA][第72题][动态规划]
  6. 瑞银、太平洋投资、T. Rowe Price对加密货币投资持谨慎态度
  7. 第12章[12.4] 鼠标移入移除时弹出和关闭窗口
  8. Python类的私有属性
  9. PMP课程笔记:第11章 项目风险管理
  10. 《Oracle Exadata云服务官方指南》之 Oracle Database Exadata 云服务
  11. Canonical Coin Systems
  12. 电商核心业务功能测试分析
  13. linux中文麻酱字_红糖麻酱卷的做法——Nice to meet you
  14. 在WORD表格中如何实现加法?
  15. 《Java并发编程实战》【第一部分 基础知识】
  16. Promise.all、Promise.allSettled、Promise.any、Promise.race
  17. 1128_AURIX_TC275的基本参数了解
  18. linux 星际争霸,让星际争霸在Linux下转起来
  19. 未来视频编码_设计编码营销并消费未来
  20. js如何下载.apk

热门文章

  1. 【BZOJ3105】新Nim游戏,线性基+贪心
  2. 【BZOJ2653】middle,主席树(非权值线段树)维护序列和信息+二分答案
  3. word2003快速排版工具栏_技巧 | 快速又好看,PPT制作不再难
  4. 【英语学习】【Level 07】U02 Live Work L3 The best of Shanghai
  5. IDEA 点击进入方法内部_一份最详细的 IDEA调试教程,让bug无处藏身!
  6. python十进制转换_Python方法如何将普通IP转换为十进制IP
  7. UE3 贴图支持及设置
  8. [转]在Windows server 2012上部署DPM 2012 SP1 RTM之安装配置
  9. Python:numpy数组转换为json格式
  10. Linux系统LVM增加新硬盘实现根文件系统扩容