# LazyKNN_CatDogRecog **Repository Path**: duan-qi-rui/lazy-knn_-cat-dog-recog ## Basic Information - **Project Name**: LazyKNN_CatDogRecog - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-05 - **Last Updated**: 2025-11-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 机器学习猫狗分类项目 本项目实现了基于多种机器学习算法的猫狗图像识别系统,包含完整的模型训练、评估和Web应用部署功能。 --- ## 简介 这是一个综合性的图像分类实战项目,通过训练和对比多种主流机器学习分类器,自动筛选出最佳性能模型,并提供基于Gradio的Web交互界面实现实时推理。 ### 核心功能 - 集成20余种经典分类算法 - 全自动模型训练与评估流程 - 支持多指标性能对比分析 - 提供直观的Web推理界面 - 自动保存最优模型 --- ## 项目文件说明 ``` 工作目录/ ├── train.py # 训练主程序 ├── webapp.py # Web应用界面 ├── util.py # 特征提取工具 ├── requirements.txt # 环境依赖 ├── cat_dog_data/data/train/ # 训练数据 ├── best_model.pkl # 最优模型文件 ├── model_metadata.pkl # 模型配置信息 └── training_results.csv # 性能评估报告 ``` --- ## 快速开始指南 ### Step 1: 环境准备 使用pip安装所需依赖包: ```bash pip install -r requirements.txt ``` **核心依赖库:** - NumPy, Pandas: 数值计算与数据分析 - scikit-learn: 机器学习算法库 - Gradio: Web界面构建 - OpenCV, Pillow: 图像处理 - Joblib: 模型持久化 **可选依赖库:** - XGBoost: 梯度提升算法 - LightGBM: 轻量级梯度提升框架 注:可选库缺失不影响主体功能运行 ### Step 2: 执行模型训练 运行训练程序: ```bash python train.py ``` **程序执行流程:** 1. 从数据目录读取猫狗图片 2. 提取并预处理图像特征 3. 批量训练所有分类算法 4. 计算性能评估指标 5. 生成对比分析报告 6. 自动保存最优模型 **生成文件:** - `best_model.pkl`: 最高准确率模型 - `model_metadata.pkl`: 模型配置与性能数据 - `training_results.csv`: 详细评估报告 ### Step 3: 启动推理服务 执行Web应用: ```bash python webapp.py ``` 访问地址:http://localhost:7860 **应用功能:** - 图片上传识别 - 置信度可视化 - 模型性能展示 - 示例样本测试 **测试样例展示:**
| 猫咪样本 | 狗狗样本 |
![]() |
![]() |