# final **Repository Path**: li-nishan/final ## Basic Information - **Project Name**: final - **Description**: hi - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-29 - **Last Updated**: 2025-12-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 机器学习数据处理系统 基于Flask框架的企业级机器学习数据处理平台,提供完整的数据采集、预处理、模型训练和预测功能。 ## 项目简介 本系统是一个房价预测平台,集成了数据采集、数据预处理、机器学习模型训练和预测等完整功能,适用于企业级机器学习项目开发。 ## 技术栈 ### Web框架 - **Flask 3.0** - 轻量级Python Web框架 - **Flask-SQLAlchemy** - ORM数据库工具 ### 机器学习 - **Scikit-learn** - 机器学习算法库 - 线性回归 (Linear Regression) - 岭回归 (Ridge Regression) - Lasso回归 - 随机森林 (Random Forest) - 梯度提升 (Gradient Boosting) ### 数据处理 - **Pandas** - 数据分析和处理 - **NumPy** - 数值计算 - **Scipy** - 科学计算(异常值检测) - **Matplotlib** - 数据可视化 - **Seaborn** - 统计数据可视化 ### 数据采集 - **Requests** - HTTP请求库 - **BeautifulSoup4** - HTML解析和网页爬取 ### 数据库 - **SQLite** - 轻量级关系型数据库 ## 项目结构 ``` stydu-py/ ├── app/ # 应用主目录 │ ├── __init__.py # 应用工厂函数 │ ├── models.py # 数据模型 │ ├── routes.py # 路由和API接口 │ ├── data_collector.py # 数据采集模块 │ ├── data_processor.py # 数据预处理模块 │ ├── ml_model.py # 机器学习模型模块 │ └── templates/ # HTML模板 │ ├── base.html # 基础模板 │ ├── index.html # 首页 │ ├── data.html # 数据管理页面 │ └── predict.html # 预测页面 ├── data/ # 数据存储目录(自动创建) │ ├── raw_data.csv # 原始数据 │ ├── processed_data.csv # 处理后的数据 │ ├── model.pkl # 训练好的模型 │ └── app.db # SQLite数据库 ├── config.py # 配置文件 ├── requirements.txt # 依赖包列表 ├── run.py # 应用启动文件 └── README.md # 项目文档 ``` ## 功能特性 ### 1. 数据采集 - 生成模拟房屋数据 - 支持API接口调用 - 支持网页爬取(BeautifulSoup) - 可扩展的数据源接入 ### 2. 数据预处理 - 缺失值处理(中位数填充) - 异常值检测和移除(Z-score方法) - 数据标准化 - 特征工程 - 数据统计分析 ### 3. 机器学习 - 多种算法支持(随机森林、梯度提升、线性回归等) - 自动数据集划分 - 模型评估(RMSE、MAE、R²、MAPE) - 特征重要性分析 - 交叉验证 - 模型持久化 ### 4. 预测服务 - 实时房价预测 - 预测历史记录 - RESTful API接口 - 友好的Web界面 ### 5. 数据管理 - 数据库存储(SQLite) - 数据列表查看 - 统计信息展示 ## 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 运行应用 ```bash python run.py ``` ### 3. 访问系统 打开浏览器访问:`http://127.0.0.1:5000` ### 4. 使用流程 1. **数据采集** - 进入"数据管理"页面 - 点击"采集数据"按钮 - 系统将生成1000条模拟房屋数据 2. **数据预处理** - 点击"处理数据"按钮 - 系统自动处理缺失值和异常值 3. **模型训练** - 选择模型类型(推荐:随机森林) - 点击"训练模型"按钮 - 查看模型评估指标 4. **价格预测** - 进入"价格预测"页面 - 输入房屋信息 - 点击"开始预测"查看结果 ## API接口文档 ### 数据采集 - **POST** `/api/collect-data` - 参数:`{"num_samples": 1000}` ### 数据预处理 - **POST** `/api/process-data` ### 模型训练 - **POST** `/api/train-model` - 参数:`{"model_type": "random_forest"}` ### 价格预测 - **POST** `/api/predict` - 参数: ```json { "area": 120, "bedrooms": 3, "bathrooms": 2, "floors": 15, "year_built": 2020 } ``` ### 获取数据列表 - **GET** `/api/data-list?page=1&per_page=10` ### 获取预测历史 - **GET** `/api/prediction-history?page=1&per_page=10` ### 获取统计信息 - **GET** `/api/statistics` ## 配置说明 配置文件:`config.py` - **SECRET_KEY**: Flask密钥 - **DATABASE_URI**: 数据库连接字符串 - **DATA_DIR**: 数据存储目录 - **TEST_SIZE**: 测试集比例(默认0.2) - **RANDOM_STATE**: 随机种子(默认42) ## 模型说明 ### 支持的算法 1. **随机森林(推荐)** - 准确度高,过拟合风险低 - 可获取特征重要性 2. **梯度提升** - 预测精度高 - 训练时间较长 3. **线性回归** - 简单快速 - 适合线性关系 4. **岭回归/Lasso回归** - 带正则化的线性回归 - 防止过拟合 ### 评估指标 - **R²**: 决定系数,越接近1越好 - **RMSE**: 均方根误差,越小越好 - **MAE**: 平均绝对误差,越小越好 - **MAPE**: 平均绝对百分比误差,越小越好 ## 开发环境 - Python 3.8+ - Windows/Linux/macOS ## 扩展建议 1. **数据源扩展** - 接入真实房产API - 添加网站爬虫 2. **功能增强** - 添加数据可视化图表 - 支持批量预测 - 导出预测报告 3. **模型优化** - 超参数调优 - 模型集成 - 深度学习模型 4. **部署优化** - Docker容器化 - 云平台部署 - 负载均衡 ## 常见问题 ### 1. 模型未训练错误 - 解决:先完成数据采集 → 数据预处理 → 模型训练流程 ### 2. 数据文件不存在 - 解决:检查data目录是否存在,确保已执行数据采集 ### 3. 依赖安装失败 - 解决:使用国内镜像源 `pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple` ## 许可证 MIT License ## 作者 Enterprise ML Team ## 更新日志 ### v1.0.0 (2024) - 初始版本发布 - 完整的数据处理流程 - 多种机器学习算法支持 - Web界面和API接口