AI源码
AI源码AI 精选 · 优质源码 · 助力学习

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

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

评分:4.8/5.0
销量:41
发布:2026/6/22
难度:L2 进阶级
💬 联系咨询观看视频介绍
永久使用权限
免费更新维护
技术支持服务

项目封面

截图 1

项目说明

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

项目简介

本系统是一个面向酒店行业的客户数据分析与流失预测平台,基于 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%

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

技术分类

包含内容

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

适用人群

学习参考与二次开发

关于 AI源码

AI源码 专注优质项目源码分享,提供完整源码、详细文档与技术支持,助力源码设计与课程作业。

QQ: 861077046
邮箱: 861077046@qq.com
已服务 41+ 位用户
立即咨询

相关推荐

查看全部 →
城市交通流量预测与拥堵成因分析系统
Python
进阶

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

是一个面向城市交通拥堵分析的 monorepo,覆盖计算机设计课题中的主要能力链路:

PythonHTMLSQLite
4.820
电商用户行为漏斗与CRO转化率优化分析
Python
NEW
进阶

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

电商用户行为漏斗与CRO转化率优化分析(E-Commerce Funnel CRO)是一套面向电商运营的数据分析平台,覆盖从用户访问到最终购买的完整漏斗链路,提供多维诊断、统计检验、PIE 优先级矩阵与 XGBoost 购买预测等能力,帮助运营团队精准定位转化瓶颈并制定优化策略。

PythonHTMLSQLite
4.866
多组学癌症预后预测分析系统
Python
进阶

多组学癌症预后预测分析系统

基于 Flask 的 Web 应用,用于上传 TCGA 风格合并表、做特征与标签概览、Cox 预后风险评分与生存相关可视化。模型在本地训练后以 形式加载,不提供旧版演示数据或假模型兜底。

PythonHTMLSQLite
4.834
基于 Apriori 算法的中药配伍审查系统
Python
NEW
进阶

基于 Apriori 算法的中药配伍审查系统

本系统是一个基于经典 Apriori 关联规则挖掘算法的中药配伍审查平台,使用真实中医药处方数据集(PTM-TKDE2018),实现药材频繁项集挖掘、关联规则生成与配伍禁忌审查。

PythonHTMLSQLite
4.840
基于 Python 的城市共享单车骑行需求时空分析系统
Python
NEW
进阶

基于 Python 的城市共享单车骑行需求时空分析系统

本系统是一个基于 Python Flask 框架的城市共享单车骑行需求时空分析平台,使用 Oslo City Bike(奥斯陆城市自行车)开放数据,提供系统总览、时间维度分析、空间维度分析、站点运营分析、OD 起讫流动分析、骑行需求预测、综合分析报告等功能模块,适用于城市共享单车运营调度与骑行需求研究场景。

PythonHTMLSQLite
4.857
基于 Python 的短视频用户行为分析系统
Python
NEW
进阶

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

基于快手 KuaiRec / KuaiRand 数据集的短视频推荐分析平台,提供用户行为分析、推荐偏差检测、内容运营洞察、图神经网络推荐等完整分析链路。

PythonHTMLSQLite
4.875