不同k值对KNN算法预测准确率的影响

本文通过KNN算法对鸢尾花分类案例,通过尝试集不同的k值来查看预测准确率和误差率的情况

from __future__ import print_function
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import learning_curve
from sklearn.model_selection import cross_val_score
import matplotlib.pyplot as pltiris = load_iris()
X = iris.data
y = iris.target# 设定k值得范围为1-30
k_range = range(1, 31)# 创建列表,保存遍历的精确度
k_scores = []
k_loss = []
# 循环看看每个n_neighbors对应的精确度
for k in k_range:knn = KNeighborsClassifier(n_neighbors=k)loss = -cross_val_score(knn, X, y, cv=10, scoring='neg_mean_squared_error') # for regressionscores = cross_val_score(knn, X, y, cv=10, scoring='accuracy') # for classificationk_scores.append(scores.mean())k_loss.append(loss.mean())
# 绘制精确度的折线图
plt.figure(figsize=(10,6))
plt.plot(k_range, k_scores)
plt.xticks(range(30)[::1])
plt.xlabel('Value of K for KNN')
plt.ylabel('Accuracy')
plt.grid()
plt.show()

# 绘制误差的折线图
plt.figure(figsize=(10,6))
plt.plot(k_range, k_loss)
plt.xticks(range(30)[::1])
plt.xlabel('Value of K for KNN')
plt.ylabel('loss')
plt.grid()
plt.show()

总结:

由上图可知:预测结果的精确度在k值为13,18,20时对应的精确度最高。
说明:本文仅仅考虑了k值得选择对于KNN算法预测结果的影响。同时影响预测结果的因素还有距离函数(欧氏距离,曼哈顿距离)的选取。

不同k值对KNN算法预测准确率的影响相关推荐

  1. knn算法的最佳k值_KNN(k-NearestNeighbor)算法笔记

    本博文主要参考来源: 忆臻:一文搞懂k近邻(k-NN)算法(一)​zhuanlan.zhihu.com 一.KNN算法的核心思想: 算法的核心思想是,即是给定一个训练数据集,对新的输入实例,在训练数据 ...

  2. KNN算法预测iris数据集

    KNN算法预测iris数据集 1.数据集介绍 鸢尾花灰Iris数据集中有150个样本,每个样本有4个特征,1个标签.其中,鸢尾花种类可取0.1.2,分别代表山鸢尾setosa.变色鸢尾versicol ...

  3. 机器学习 手写KNN算法预测城市空气质量

    文章目录 一.KNN算法简介 二.KNN算法实现思路 三.KNN算法预测城市空气质量 1. 获取数据 2. 生成测试集和训练集 3. 实现KNN算法 一.KNN算法简介 KNN(K-Nearest N ...

  4. 编写KNN算法预测泰坦尼克号存活率

    1.读取文件:titanic3.csv 2.数据预处理 3.分析相关性,定义合适的特征变量 4.训练模型,得出存活率 首先引用库(没用的和有用的都在里面,需要你们自己去选择): from sklear ...

  5. 机器学习实战——KNN算法预测电影类型

    预测电影类型 现有爱情片和动作片(不是爱情动作片,雾)的打斗场面和接吻场面的次数统计,然后给出一个电影打斗场面和接吻场面出现的次数,预测其类型. 那么如何预测呢?当然用KNN了. KNN算法的原理就是 ...

  6. KNN算法虹膜图片识别(源码)

    人工智能AI与大数据技术实战  公众号: weic2c 目录 1 K-近邻算法(KNN, k-NearestNeighbor) 2 K-近邻算法详述 3 K-近邻算法图片识别分类 4 参考文献 1 K ...

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

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

  8. 【OpenCV/C++】KNN算法识别数字的实现原理与代码详解

    KNN算法识别数字 一.KNN原理 1.1 KNN原理介绍 1.2 KNN的关键参数 二.KNN算法识别手写数字 2.1 训练过程代码详解 2.2 预测分类的实现过程 三.KNN算法识别印刷数字 2. ...

  9. 机器学习——K-NN算法

    目录 一.  KNN的原理 二.  K-NN算法的注意事项 1. 如何选取K值 2. K-NN算法的优点 3. K-NN算法的缺点 三.  算法的Python实现 (1)用原理实现K-NN (2)调用 ...

最新文章

  1. 某女网友吐槽:大厂程序员男友太忙,天天当望夫石或者床头灯!已分手!
  2. python无法打开excle_无法打开Excel fi
  3. 学计算机的考研还是工作室,毕业后,考研和工作哪个更有出路,你后悔了吗?...
  4. sqlserver中的通配符
  5. Spring 基于设值函数的依赖注入
  6. poj 1276 多重背包
  7. JS几种数组遍历方式以及性能分析对比
  8. 程序员如何从技术上“开挂”魔卡手游? | 技术头条
  9. Qt5及模块架构分析
  10. java中的抽象类(abstract)
  11. 局域网计算机加密共享文件,怎么共享文件夹局域网(局域网共享加密)
  12. python round函数
  13. flea-jersey使用之Flea RESTful接口介绍
  14. IDEA添加Java类注释模版
  15. 华为麦芒5刷机_TWRP_Magisk(Root)_Xposed流程
  16. PI API 基础函数(一)
  17. < C++11新特性(部分学习)>——《C++高阶》
  18. 【手把手教你】搭建神经网络(CT扫描3D图像的分类)
  19. 一个艰难的决定。。。搬家了~
  20. 为什么word一页没写完再写就去下一页了

热门文章

  1. win10(家庭版)怎么修改“c:\users”目录下文件夹名称
  2. Go 每日一库之 ants
  3. SharePoint/Office 365 视频教程
  4. 大数据、拉普拉斯妖和股票预测软件
  5. Qemu,KVM,Virsh傻傻的分不清
  6. 网络通道数2的倍数_利用双通道卷积神经网络的图像超分辨率算法
  7. 《格蠹汇编》读书笔记—windbg的使用(中)
  8. Angular集成Bootstrap库
  9. Archlinux配置邮件(以qq邮箱为例)
  10. SQL Server索引概要(1)-聚集索引(Clustered Index)