# OPTIMAL_KNN_MNIST_QUESTION_1 **Repository Path**: liu-yaxiang/optimal_knn_mnist_question_1 ## Basic Information - **Project Name**: OPTIMAL_KNN_MNIST_QUESTION_1 - **Description**: 本项目使用gradio应用在 minist 上训练的最有 KNN 模型就行手写数字识别。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 248 - **Created**: 2024-09-10 - **Last Updated**: 2024-09-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 最佳 KNN 手写数字识别 ![model training process](model_training.jpeg) ![webapp screen shot](screen_shot.jpeg) ## 项目简介 这个项目包含两个主要的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. 点击“提交”,你将看到模型预测的数字。 ## 个人信息 - 学号: XXX - 年级: 20XX - 专业: 智能科学与技术 - 班级: XXX 班