基于机器学习的农产品价格分析及预测平台
整合北京新发地约 41 万条真实农产品价格的 Flask 分析平台,支持多维价格对比、LR/RF/GB 预测与涨跌幅异常预警,含官方 API 爬虫,适合农业大数据类毕业设计。
项目封面

项目概览
本平台对接北京新发地农产品批发市场官方公开接口,收录约 41 万条真实交易价格数据(2024–2026),采用 Flask + SQLite + ECharts + scikit-learn 技术栈。提供数据概览、多条件价格查询与 CSV 导出、单品走势与多品种对比分析、线性回归/随机森林/梯度提升价格预测(自动过滤低 R² 模型),以及基于涨跌幅阈值的异常预警。含独立爬虫脚本与管理员数据同步、模型训练功能,适合作为毕业设计中农产品价格分析、时间序列预测与 Web 爬虫方向。
项目说明
基于机器学习的农产品价格分析及预测平台
项目简介
本平台基于 Python Flask 框架构建,整合北京新发地农产品批发市场真实价格数据,提供数据概览、价格查询、多维分析、机器学习价格预测和价格异常预警等功能模块,适用于农产品市场价格趋势研究和价格预测场景。
数据来源为新发地市场官方公开接口,所有数据均为真实市场交易价格,非 Mock 生成。
功能模块
| 模块 | 功能说明 |
|---|---|
| 用户管理 | 用户注册、登录、角色权限控制(管理员/普通用户) |
| 数据概览 | 价格记录总量、品种数、分类数、时间范围统计卡片;近30日市场均价走势图;分类均价分布饼图;热门农产品 TOP10 排行 |
| 价格数据 | 多条件组合查询(品名、分类、产地、日期范围)、分页浏览、CSV 导出 |
| 价格分析 | 单品价格走势分析(含统计摘要);多品种价格对比(最多5个);产地价格分布统计;月度均价统计 |
| 智能预测 | 基于线性回归/随机森林/梯度提升三种 ML 模型的价格预测,展示历史与预测走势对比图、预测摘要。自动过滤 R² < 0.3 的不可靠模型 |
| 价格预警 | 基于涨跌幅阈值的异常波动自动检测,展示预警列表 |
| 系统管理 | 管理员专属页面,支持数据同步、模型训练、价格预警检测、用户管理、操作日志查看 |
数据来源
| 数据集 | 文件 | 来源 | 说明 |
|---|---|---|---|
| 新发地市场价格 | data/prices.csv | 新发地市场官方 API | 约 41 万条真实交易价格数据,时间范围 2024-01-01 至 2026-06-30 |
数据字段说明:
| 字段 | 说明 |
|---|---|
| source_id | 新发地数据源 ID |
| prod_name | 农产品名称 |
| prod_cat | 一级分类 |
| prod_pcat | 二级分类 |
| low_price | 最低价(元/斤) |
| high_price | 最高价(元/斤) |
| avg_price | 平均价(元/斤) |
| place | 产地 |
| spec_info | 规格信息 |
| unit_info | 单位 |
| pub_date | 发布日期 |
标准版目录结构
python-nongchanpin-price-fenxi-yuce/
├── app/ # 应用核心代码
│ ├── __init__.py # Flask 应用工厂
│ ├── database.py # SQLite 数据库连接与表结构初始化
│ ├── models.py # 用户模型与认证辅助
│ ├── routes/
│ │ ├── api.py # REST API 路由
│ │ └── pages.py # 页面路由
│ └── services/
│ ├── __init__.py # 服务模块
│ ├── analyzer.py # 价格数据分析服务
│ ├── data_crawler.py # 新发地数据爬取服务
│ ├── data_import.py # CSV 数据导入服务
│ ├── ml_trainer.py # 机器学习模型训练服务
│ └── predictor.py # 价格预测服务
├── crawler/ # 独立爬虫脚本
│ ├── __init__.py # 爬虫包说明
│ └── xinfadi_crawler.py # 新发地价格爬虫(支持命令行参数)
├── config.py # 平台配置文件
├── run.py # 应用启动入口
├── requirements.txt # Python 依赖包清单
├── data/
│ └── prices.csv # 爬取的原始价格数据
├── instance/
│ └── agri_platform.db # SQLite 数据库文件(自动生成)
├── ml_models/ # 训练好的模型文件(自动生成)
│ ├── 番茄/
│ │ ├── random_forest.joblib
│ │ ├── random_forest_meta.json
│ │ ├── linear_regression.joblib
│ │ ├── linear_regression_meta.json
│ │ ├── gradient_boosting.joblib
│ │ └── gradient_boosting_meta.json
│ └── ... # 25 个品种
├── scripts/
│ ├── init_system.py # 一键初始化脚本(下载数据+导入+训练)
│ └── finish_init.py # 快速初始化脚本(跳过下载,直接导入+训练)
├── static/
│ ├── css/
│ │ └── style.css # 自定义样式
│ └── js/
│ ├── common.js # 全局工具函数(API封装、图表通用配置)
│ ├── dashboard.js # 数据概览页逻辑
│ ├── data.js # 价格数据页逻辑
│ ├── analysis.js # 价格分析页逻辑
│ ├── prediction.js # 智能预测页逻辑
│ └── admin.js # 系统管理页逻辑
├── templates/
│ ├── base.html # 基础模板(导航栏、CDN 引用)
│ ├── login.html # 登录页
│ ├── register.html # 注册页
│ ├── dashboard.html # 数据概览页
│ ├── data.html # 价格数据页
│ ├── analysis.html # 价格分析页
│ ├── prediction.html # 智能预测页
│ ├── alerts.html # 价格预警页
│ └── admin.html # 系统管理页
├── 运行步骤必看/
│ └── window.md # Windows 运行步骤说明
├── mac_run.sh # macOS/Linux 一键启动脚本
├── window_run.bat # Windows 一键启动脚本
├── 训练手册.md # 模型训练手册
└── README.md # 项目简介
技术栈
| 类别 | 技术 |
|---|---|
| 后端 | Python 3.9+ + Flask 3.0 |
| 数据库 | SQLite 3 |
| 前端 | HTML5 + Bootstrap 5.3 + ECharts 5.5 |
| 机器学习 | scikit-learn 1.5(线性回归、随机森林、梯度提升) |
| 数据处理 | pandas 2.x + numpy 2.x |
| 模型持久化 | joblib 1.4(含 numpy BitGenerator 跨版本兼容处理) |
| 认证 | Flask-Login + Werkzeug pbkdf2:sha256 |
环境要求
| 项目 | 要求 |
|---|---|
| Python | 3.9 及以上 |
| 操作系统 | Windows / macOS / Linux |
| 内存 | 建议 2GB 以上 |
| 磁盘 | 约 500MB(含依赖和数据库) |
| 浏览器 | Chrome / Firefox / Safari / Edge 现代版本 |
账号信息
| 角色 | 用户名 | 密码 |
|---|---|---|
| 管理员 | admin | admin123 |
| 普通用户 | user | user123 |
管理员拥有系统管理页面访问权限,可同步数据、训练模型、检测预警、管理用户和查看操作日志。新注册用户默认为普通用户角色。
模型训练概况
| 项目 | 说明 |
|---|---|
| 训练品种 | 25 个热门品种 |
| 模型数量 | 75 个(25 品种 × 3 种算法) |
| 可用模型 | 67 个(R² ≥ 0.3) |
| 良好模型 | 48 个(R² ≥ 0.8) |
| 特征数 | 10 个时序特征(lag + rolling + 时间特征) |
| 数据分割 | 80% 训练 / 20% 测试(时间顺序,无随机打乱) |
模型质量筛选:R² < 0.3 的模型自动隐藏,用户无法在预测界面选择使用。详见 训练手册。
获取完整源码
技术分类
包含内容
适合方向
适合软件工程、农业信息化、数据科学专业毕业设计中农产品价格预测、数据爬取与 Flask 可视化分析方向。
关于 AI源码
AI源码 整理计算机毕业设计、课程设计向的可运行项目参考,含说明文档与演示材料。完整源码请通过联系方式沟通获取。
相关推荐
查看全部 →
虚假新闻检测系统
基于 ConceptNN 概念神经网络的虚假新闻检测 FastAPI 服务,支持文本 Sentence-Transformer 与图像 ResNet18 双模态特征及增量学习,可对接 Java 后端实时预测,适合 NLP+CV 毕业设计。

微博热点数据分析与可视化系统
Flask 微博热搜分析平台:自动爬取热搜与评论、jieba 分词清洗、SnowNLP 情感分类,ECharts 热度排行/情感饼图/词云可视化,SQLite 存储与角色权限,适合 Python 数据分析毕业设计。

基于 Python 的短视频用户行为分析系统
基于 KuaiRec/KuaiRand 数据集的短视频分析平台:行为漏斗、推荐偏差、KMeans 聚类、TF-IDF/t-SNE、LightGCN 图推荐与 A/B 实验,Flask 仪表盘一键重训,适合推荐系统大数据毕业设计。

城市交通流量预测与拥堵成因分析系统
城市交通拥堵 monorepo:data-pipeline 多源时空特征、STGNN Proxy 流量预测、归因分析与 Leaflet 地图可视化,FastAPI 加载离线产物,适合交通大数据与计算机设计毕业设计。

电商用户行为漏斗与CRO转化率优化分析
电商漏斗 CRO 分析平台:页面/事件双漏斗、渠道设备多维诊断、PIE 优先级矩阵、卡方检验与 XGBoost 购买预测,Flask+ECharts 仪表板,支持 Retailrocket 真实数据,适合电商数据分析毕业设计。

基于 Python 的汽车市场数据分析与可视化平台
Flask 汽车市场分析平台:整合 Cars24/UCI Automobile 等多源真实数据集(统一 CNY),含多维分析、随机森林二手车价格预测、品牌对比与销量统计,适合 Python 数据分析毕业设计。