# OPTIMAL_KNN_MNIST_QUESTION
**Repository Path**: aicyeday/optimal_knn_mnist_question
## Basic Information
- **Project Name**: OPTIMAL_KNN_MNIST_QUESTION
- **Description**: 本项目使用gradio应用在 minist 上训练的最有 KNN 模型就行手写数字识别。
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 378
- **Created**: 2024-09-17
- **Last Updated**: 2024-09-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 最佳 KNN 手写数字识别


## 项目简介
这个项目包含两个主要的Python脚本:`optimal_knn.py` 和 `optimal_knn_webapp.py`。
`optimal_knn.py` 脚本用于找出最优的K值,以便在K近邻分类器中使用。它首先加载手写数字数据集,然后尝试不同的K值,找出能够使模型准确率最高的K值。最后,它将最优的KNN模型保存到一个pickle文件中。
`optimal_knn_webapp.py` 脚本使用[Gradio](https://www.gradio.app/)库创建一个web应用,该应用可以接收用户的手写数字图像输入,然后使用之前保存的最优KNN模型进行预测,最后返回预测的数字。Gradio库使得创建这个用户友好的界面变得简单快捷。
## 安装
以下是安装步骤:
1. 克隆这个仓库到你的本地机器上。
2. 安装必要的Python库,包括sklearn,matplotlib,pickle,tqdm,gradio,numpy,PIL和cv2。
3. 填充`optimal_knn.py`中所有`#TODO`部分内容,运行脚本,生成最优的KNN模型。
4. 填充`optimal_knn_webapp.py`部中所有`#TODO`部分内容,运行脚本,启动web应用。
## 使用
以下是如何使用我们的项目:
1. 在你的浏览器中打开web应用。
2. 在sketchpad中绘制一个数字。
3. 点击“提交”,你将看到模型预测的数字。
## 运行截图
`pinecone_train.py`:
`optimal_knn_webapp.py`:
## 个人信息
- 学号: 202252320419
- 年级: 2022
- 专业: 智能科学与技术
- 班级: 4 班