码农知识堂 - 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时相对较好


  • 相关阅读:
    Django用RSA实现Web登录加密传输,预防抓包泄漏密码,解决ModelForm无法实现传输加密问题
    CentOS 7停服之后该怎么安装软件呢?
    Android FileProvider笔记
    https域名下 请求http图片链接 被自动变成https请求
    Filter与Listener(过滤器与监听器)
    安装CDH平台的服务器磁盘满了,磁盘清理过程记录
    策略模式:灵活定义一系列可互换的算法
    WPF 控件专题 DockPanel 控件详解
    【SA8295P 源码分析】87 - SA8295P HQNX + Android 编译环境搭建指导
    最全的推特群推营销秘籍
  • 原文地址:https://blog.csdn.net/qq_48068259/article/details/127888522
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号