基于机器学习的酒店数据分析及流失预测系统

基于 Antonio 等公开酒店预订数据集(约 11.9 万条)的客户流失分析与预测平台,含 ROC 曲线、混淆矩阵与单条/批量流失预测,适合机器学习业务分析类毕业设计。

评分:4.8/5.0
销量:41
发布:6/22/2026
难度:L3 高级

获取完整源码

演示视频仅作效果参考。完整源码、项目说明与运行答疑,请私聊沟通(适合毕业设计 / 课程设计 / 课设参考)。

获取完整源码观看演示视频
含项目说明文档,便于对照学习
可本地运行,适合课设演示
沟通获取后可咨询运行问题

项目封面

截图 1

项目概览

本系统基于 Antonio et al. (2019) 公开的 Hotel Booking Demand 数据集(约 119,390 条城市与度假酒店预订记录),采用 Flask + SQLite + ECharts + scikit-learn 技术栈。实现取消率/流失率 KPI 仪表盘、市场细分与 ADR 多维分析、押金类型与提前预订天数等流失因素挖掘,以及随机森林/梯度提升/逻辑回归流失预测(含混淆矩阵、ROC 曲线与特征重要性)。支持单条客户预测、批量验证与 CSV 导出,适合作为毕业设计中客户流失预测、特征工程与酒店行业数据分析方向。

项目说明

基于机器学习的酒店数据分析及流失预测系统

项目简介

本系统是一个面向酒店行业的客户数据分析与流失预测平台,基于 Antonio et al. (2019) 公开的酒店预订需求数据集,采用 Flask + SQLite + ECharts + scikit-learn 技术栈,实现数据可视化分析、机器学习流失预测、模型管理等功能,帮助酒店管理者识别流失风险客户并制定针对性挽留策略。


功能模块

模块功能说明
用户认证用户登录、注册、角色权限管理(管理员/普通用户)
数据概览核心KPI仪表盘(总预订量、取消率、流失率、平均ADR)、月度预订与流失趋势折线图、酒店类型分布环形图、Top10客源国柱状图、市场细分占比环形图
数据分析城市酒店与度假酒店对比、膳食类型分布、客户类型分析、提前预订天数分布、ADR价格区间分布、市场细分取消率、市场细分详细数据表格
流失分析押金类型与流失率、流失关键因素分析、提前预订天数与流失率关系、ADR区间与流失率关系、客户类型流失对比、流失因素统计表
流失预测单条客户流失预测(输入预订信息,输出流失概率与风险等级)、批量预测验证(最近50条数据验证)、预测历史记录
模型管理支持随机森林/梯度提升/逻辑回归三种算法训练、混淆矩阵热力图、ROC曲线、特征重要性Top10排名、训练历史记录
数据管理多条件筛选查询(酒店类型/流失状态/取消状态/关键词)、分页浏览、CSV数据导出
报表中心综合数据报表、流失分析报表、模型评估报表(支持打印)
用户管理管理员专属页面,用户列表查看与删除

数据来源

数据集文件记录数说明
Hotel Booking Demandhotels.csv~119,390 条来源于 Antonio, Almeida and Nunes (2019),包含城市酒店和度假酒店的预订数据

数据集下载地址:TidyTuesday - Hotel Booking Demand


流失定义

客户流失标签(churn_label)定义规则:

  • 流失(1):预订取消(is_canceled = 1),或非回头客且有历史取消记录
  • 未流失(0):不符合上述条件的客户

标准版目录结构

python-hotel-booking-fenxi-liushi/
├── app.py                    # Flask 应用主入口,路由定义与API接口
├── config.py                 # 应用配置(数据库路径、密钥、分页参数)
├── database.py               # SQLite 数据库连接管理、建表、数据导入
├── init_system.py            # 系统初始化脚本(建库、导入数据、训练模型)
├── requirements.txt          # Python 依赖包清单
├── data/
│   └── hotels.csv            # 酒店预订数据集
├── database/
│   └── hotel.db              # SQLite 数据库文件(自动生成)
├── ml/
│   ├── __init__.py
│   ├── preprocess.py          # 数据预处理(特征工程、编码)
│   ├── train.py              # 模型训练(随机森林/梯度提升/逻辑回归)
│   └── predict.py            # 预测服务(单条预测、批量预测)
├── models/
│   ├── churn_model.pkl       # 训练好的模型文件(自动生成)
│   ├── model_metrics.json    # 模型评估指标(自动生成)
│   └── feature_importance.json # 特征重要性(自动生成)
├── services/
│   ├── __init__.py
│   ├── auth_service.py       # 认证服务(登录、注册、用户管理)
│   └── analysis_service.py   # 数据分析服务(统计、检索、导出)
├── static/
│   ├── css/
│   │   └── custom.css        # 自定义样式
│   └── js/
│       ├── common.js         # 全局工具函数与ECharts封装
│       ├── dashboard.js      # 数据概览页图表
│       ├── analysis.js       # 数据分析页图表
│       ├── churn_analysis.js # 流失分析页图表
│       ├── model.js          # 模型管理页图表
│       ├── predict.js        # 流失预测页交互
│       ├── data.js           # 数据管理页交互
│       └── reports.js        # 报表中心页交互
├── templates/
│   ├── base.html             # 基础模板(导航栏、CDN引用)
│   ├── login.html            # 登录页
│   ├── register.html         # 注册页
│   ├── dashboard.html        # 数据概览页
│   ├── analysis.html         # 数据分析页
│   ├── churn_analysis.html   # 流失分析页
│   ├── predict.html          # 流失预测页
│   ├── model.html            # 模型管理页
│   ├── data.html             # 数据管理页
│   ├── reports.html          # 报表中心页
│   └── admin/
│       └── users.html         # 用户管理页
├── 运行步骤必看/
│   └── window.md             # Windows 运行步骤说明
├── mac_run.sh                # macOS/Linux 一键启动脚本
├── window_run.bat            # Windows 一键启动脚本
├── 训练手册.md                # 模型训练手册
├── 项目说明.md                # 本文档
└── README.md                 # 项目简介

技术栈

类别技术
后端Python 3.12 + Flask 3.0
数据库SQLite 3
前端HTML5 + Bootstrap 5.3 + ECharts 5.5
机器学习scikit-learn 1.5(随机森林 / 梯度提升 / 逻辑回归)
数据处理pandas 2.2 + numpy 1.26
模型持久化joblib 1.4
密码安全SHA-256 哈希

环境要求

项目要求
Python3.12
操作系统Windows / macOS / Linux
内存建议 2GB 以上(模型训练时使用)
磁盘约 300MB(含依赖和数据库)
浏览器Chrome / Firefox / Safari / Edge 现代版本

账号信息

角色用户名密码
管理员adminadmin123
普通用户analystanalyst123

管理员拥有用户管理页面访问权限,可删除普通用户。新注册用户默认为普通用户角色。


模型评估

系统默认使用随机森林分类器,典型指标:

  • 准确率 (Accuracy): ~87%
  • F1 分数: ~80%
  • AUC: ~93%

实际指标取决于数据集导入和训练结果。

获取完整源码

技术分类

包含内容

完整源码
项目说明文档
演示材料

适合方向

适合软件工程、数据科学、酒店管理专业毕业设计中客户流失预测、scikit-learn 建模与业务数据可视化方向。

关于 AI源码

AI源码 整理计算机毕业设计、课程设计向的可运行项目参考,含说明文档与演示材料。完整源码请通过联系方式沟通获取。

QQ: 861077046
邮箱: 861077046@qq.com
已帮助 41+ 位同学完成选题参考
问能不能做我的题目

相关推荐

查看全部 →
虚假新闻检测系统
高级

虚假新闻检测系统

基于 ConceptNN 概念神经网络的虚假新闻检测 FastAPI 服务,支持文本 Sentence-Transformer 与图像 ResNet18 双模态特征及增量学习,可对接 Java 后端实时预测,适合 NLP+CV 毕业设计。

PythonHTMLSQLite
4.854
微博热点数据分析与可视化系统
高级

微博热点数据分析与可视化系统

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

PythonHTMLSQLite
4.873
基于 Python 的短视频用户行为分析系统
高级·新上架

基于 Python 的短视频用户行为分析系统

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

PythonHTMLSQLite
4.875
城市交通流量预测与拥堵成因分析系统
高级

城市交通流量预测与拥堵成因分析系统

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

PythonHTMLSQLite
4.820
电商用户行为漏斗与CRO转化率优化分析
高级·新上架

电商用户行为漏斗与CRO转化率优化分析

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

PythonHTMLSQLite
4.866
基于 Python 的汽车市场数据分析与可视化平台
高级·新上架

基于 Python 的汽车市场数据分析与可视化平台

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

PythonHTMLSQLite
4.894