码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 使用KNN进行手写体识别和iris数据集分类


    文章目录

    • 手写体识别
    • iris数据集分类

    手写体识别

    首先使用load_digits将数据加载,这里的数据集有1797个样本,前1384个训练数据而后面的413个样本作为测试集,每个数据集中的样本是8*8像素的图像和一个[0, 9]整数的标签。紧接着输出64个样本的图像,每个图像输出在matplotlib上,标题title为每个图像的标签

    在这里插入图片描述

    首先将数据标准化,然后使用KNeighborsClassifier来使用K近邻算法,接着进行训练,然后输出训练之后分类模型的性能的指标。

    k = 7
    clf = KNeighborsClassifier(n_neighbors=k, metric='minkowski')
    clf.fit(x_train, y_train)  # 训练完毕
    predictions = clf.predict(x_test)
    
    • 1
    • 2
    • 3
    • 4

    当K=3时,分类模型的性能的结果如图
    在这里插入图片描述

    当K=4时,分类模型的性能的结果如图

    在这里插入图片描述

    当K=5时,分类模型的性能的结果如图

    在这里插入图片描述

    当K=6时,分类模型的性能的结果如图

    在这里插入图片描述

    结果显示当K=4时效果较好,性能指标相较K=3、5和6时相对较好


    iris数据集分类

    接着使用sklearn自带的iris数据集,使用datasets.load_iris()导入数据,数据集包含150个数据样本,分为3类,每类50个数据,每个数据包含4个属性。获得数据集之后将数据集分为训练集和测试集,这里我分的是30个测试集和120个训练集,然后训练数据,之后输出分类模型的性能指标。

    # 加载数据集
    iris = datasets.load_iris()
    data_size = iris.data.shape[0]
    index = [i for i in np.arange(data_size)]
    random.shuffle(index)
    iris.data = iris.data[index]
    iris.target = iris.target[index]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    首先将K设置为5,结果如下

    在这里插入图片描述

    K=4的时候结果为下图

    在这里插入图片描述

    K=6的时候结果为下图

    在这里插入图片描述

    K=7的时候结果为下图

    在这里插入图片描述

    所以将K设置为5时效果较好,性能指标相较K=3、4、6和7时相对较好


  • 相关阅读:
    Julia绘图初步:Plots
    macbook如何通过命令行安装软件
    2022前端面试题上岸手册-React部分
    [附源码]JAVA毕业设计计算机组成原理教学演示软件(系统+LW)
    C++的构造函数
    mall-2-后台开发环境配置
    SpFFmpeg音视频开发1:Linux开发环境下常用Shell脚本语法
    第2讲:Vue开发环境的搭建及运行
    Win10电脑怎么更改UEFI固件设置
    【sfu】network线程和主线程
  • 原文地址:https://blog.csdn.net/qq_48068259/article/details/127888522
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号