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

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

评分:4.8/5.0
销量:75
发布:5/27/2026
难度:L3 高级

获取完整源码

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

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

项目封面

截图 1

项目概览

模块覆盖 Dashboard 核心指标、Behavior 漏斗与留存、Bias 位置/流行度偏差、Sequence 行为模式、Clustering 运营建议、Content 供需 BCG 矩阵、NLP 语义地图、GNN 社交网络可视化、TimeSeries GRU 趋势预测与 System 缓存/模型管理。后端 Flask 蓝图 + SQLite/KuaiRec 导入,文件缓存加速,适合 Python 短视频推荐、图神经网络与用户行为分析类毕业设计。

项目说明

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

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

功能模块

总览仪表盘 (Dashboard)

  • 核心指标卡片:总用户数、总视频数、平均观看比率、完播率
  • 活跃用户趋势:按日聚合的活跃用户数与交互次数折线图
  • 时段分布:24小时交互量柱状图

行为分析 (Behavior)

  • 工作日/周末对比:五维度(观看比率、播放时长、交互数、独立用户、独立视频)双组柱状图
  • 行为漏斗:曝光 → 点击 → 点赞 → 评论 → 转发 → 关注的转化漏斗
  • 完播率分析:按时长分桶(0-10s / 10-30s / 30-60s / 60s+)的完播率对比
  • 留存分析:基于首日用户的7日留存率曲线

推荐偏差 (Bias)

  • 偏差指标:位置偏差、时间偏差、用户偏差、内容偏差、公平性综合得分
  • 流行度长尾分布:视频曝光量的长尾效应可视化(头部集中度、Top10%曝光占比)
  • 位置偏差曲线:前20个推荐位置的CTR衰减趋势
  • 曝光偏差模式:头部集中/位置优势/时间偏差/用户偏差/冷启动的五维柱状图
  • 退出点分布:按会话长度分桶的用户退出率饼图

行为序列 (Sequence)

  • 行为分布:skip/click/like/comment/forward/follow的比例饼图
  • Top行为模式:高频行为2-gram/3-gram序列柱状图
  • 兴趣漂移:按日期的Top标签热度变化多线图
  • 退出类型分布:点赞后退出/评论后退出/点击后退出/跳过后退出饼图

用户聚类 (Clustering)

  • KMeans聚类散点图:PCA降维后的二维散点,按簇着色
  • 聚类雷达图:每个簇在观看深度/互动频率/内容偏好/活跃时段/播放时长五维的归一化雷达
  • 运营建议:基于每个簇的特征差异自动生成策略建议
  • 支持调节聚类数(3-10)并重新训练

内容分析 (Content)

  • 供需分析:按标签维度的视频供给量与交互需求量双柱对比
  • 品类竞争矩阵(BCG):市场份额 vs 增长率的气泡散点图
  • 内容疲劳度:Top视频的完播率随时间下降趋势多线图,自动检测疲劳视频
  • 新内容存活率:按早期曝光量分桶的存活率柱状图
  • 多样性分布:Top标签的视频数量环形图 + Gini系数

NLP语义 (NLP)

  • TF-IDF关键词:Top20关键词的TF-IDF均值柱状图
  • 词频统计:Top15标签的频次柱状图
  • t-SNE语义地图:视频语义嵌入的二维降维散点,按完播率着色
  • 相似视频查询:输入视频ID,基于余弦相似度返回Top10相似视频

GNN推荐 (GNN)

  • 图统计:用户数/视频数/交互数/社交节点数指标卡片
  • 社交网络图:Force-layout用户-好友关系可视化
  • 推荐结果:每个用户的Top5推荐视频及得分
  • LightGCN训练:支持一键训练图神经网络模型

A/B实验 (ABTest)

  • CTR对比:对照组 vs 实验组的CTR时序曲线
  • 留存率对比:两组的留存率变化曲线
  • KPI报告:CTR提升/留存提升/显著性/建议的四维指标卡

时序预测 (TimeSeries)

  • 趋势预测:历史活跃用户数 + GRU/线性外推的未来5天预测(虚线区分)
  • 兴趣漂移预测:CTR/点赞率/平均播放时长随时间变化的趋势线

系统管理 (System)

  • 数据库状态:表名及记录数统计
  • 模型管理:已训练的模型文件列表(自动过滤非模型文件)
  • 一键重新训练:依次训练KMeans/LightGCN/TF-IDF三个模型,显示每个模型的耗时与状态
  • 缓存管理:一键清除服务端缓存

目录结构

code/
├── app.py                          # Flask应用入口,注册蓝图、认证路由、页面路由
├── init_db.py                      # 数据库初始化与数据导入脚本
├── requirements.txt                # Python依赖清单
├── mac_run.sh                      # macOS一键启动脚本
├── window_run.bat                  # Windows一键启动脚本
│
├── backend/
│   ├── config.py                   # 全局配置(路径、密钥)
│   ├── simple_cache.py             # 文件缓存系统 + NumpyEncoder
│   ├── cache_manager.py            # 缓存管理
│   ├── utils/                      # 工具函数(safe_div, date_to_weekday等)
│   ├── database/
│   │   └── __init__.py             # 数据库连接、建表、数据导入(KuaiRec/KuaiRand)
│   │
│   ├── analysis/                   # 数据分析服务层
│   │   ├── behavior.py             # 行为分析:漏斗、完播率、留存、工作日对比
│   │   ├── bias.py                 # 偏差分析:位置偏差、长尾分布、Gini系数
│   │   ├── content.py              # 内容分析:供需、BCG矩阵、疲劳度、存活率、多样性
│   │   ├── clustering.py           # 聚类分析:KMeans + PCA + 雷达图 + 运营建议
│   │   ├── abtest.py               # A/B实验:对照组/实验组对比、KPI报告
│   │   └── sequence.py             # 序列分析:行为模式、兴趣漂移、退出点
│   │
│   ├── gnn/
│   │   └── recommend.py            # LightGCN图神经网络推荐
│   │
│   ├── nlp/
│   │   └── semantic.py             # TF-IDF关键词、语义嵌入、t-SNE、相似度
│   │
│   ├── timeseries/
│   │   └── predict.py              # GRU时序预测、兴趣漂移预测
│   │
│   └── api/                        # Flask蓝图路由层(每个模块一个子目录)
│       ├── dashboard/              # GET /overview, /active_trend, /hourly
│       ├── behavior/               # GET /weekday_weekend, /funnel, /completion_rate, /retention
│       ├── bias/                   # GET /summary, /patterns, /position, /exit_points
│       ├── content/                # GET /supply_demand, /category_matrix, /fatigue, /survival, /diversity
│       ├── sequence/               # GET /patterns, /interest_drift, /exit_points
│       ├── clustering/             # GET /result, /radar, /suggestions
│       ├── nlp/                    # GET /tfidf, /word_cloud, /tsne_map, /similarity
│       ├── gnn/                    # GET /graph_stats, /social_graph, /recommendations; POST /train
│       ├── abtest/                 # GET /comparison, /retention, /kpi
│       ├── timeseries/             # GET /trend_prediction, /interest_drift
│       └── system/                 # GET /status; POST /retrain_all, /clear_cache
│
├── frontend/
│   ├── templates/
│   │   ├── login.html              # 登录/注册页
│   │   └── index.html              # 主界面(侧边栏 + 11个Tab面板)
│   └── static/
│       ├── css/
│       │   ├── style.css           # 自定义暗色主题样式
│       │   ├── bootstrap.css       # Bootstrap 5
│       │   └── bootstrap-icons.css # 图标字体
│       ├── fonts/
│       │   └── bootstrap-icons.woff2
│       └── js/
│           ├── api.js              # API封装(缓存、去重、图表工具、渐进式加载)
│           ├── app-main.js         # Tab切换、侧边栏、全局交互
│           ├── bootstrap.js        # Bootstrap JS
│           ├── echarts.js          # ECharts图表库
│           └── tabs/
│               ├── dashboard.js    # 总览模块
│               ├── behavior.js     # 行为模块
│               ├── bias.js         # 偏差模块
│               ├── sequence.js     # 序列模块
│               ├── clustering.js   # 聚类模块
│               ├── content.js      # 内容模块
│               ├── nlp.js          # NLP模块
│               ├── gnn.js          # GNN模块
│               ├── abtest.js       # A/B实验模块
│               ├── timeseries.js   # 时序模块
│               └── system.js       # 系统模块
│
├── data/
│   ├── analysis.db                 # SQLite主数据库
│   ├── cache_json/                 # API响应缓存文件
│   ├── export/                     # 数据导出目录
│   └── processed/                  # 预处理的pkl数据文件
│
├── models/
│   ├── clustering/                 # KMeans模型 (kmeans_model.pkl, scaler.pkl, pca_model.pkl)
│   ├── gnn/                        # LightGCN模型 (lightgcn_model.pkl)
│   ├── nlp/                        # 语义嵌入 (embeddings.pkl)
│   └── timeseries/                 # GRU模型 (gru_model.pkl)
│
└── tests/
    ├── test_analysis.py
    ├── test_cache.py
    └── test_utils.py

资料/
├── KuaiRec(快手稠密推荐数据集)/
│   └── data/                       # big_matrix.csv, small_matrix.csv, item_feat.csv, social_network.csv
└── KuaiRand/
    └── KuaiRand-Pure/
        └── data/                   # log_random_4_22_to_5_08_pure.csv 等随机曝光日志

数据源

数据集说明用途
KuaiRec快手稠密推荐数据集(全观测交互矩阵)行为分析、完播率、聚类、GNN训练
KuaiRand快手随机曝光数据集(无偏日志)偏差分析、A/B实验、行为漏斗

技术栈

  • 后端: Flask + SQLite + Pandas + NumPy + scikit-learn + PyTorch
  • 前端: ECharts + Bootstrap 5 + 原生JavaScript
  • 模型: KMeans聚类 / LightGCN图推荐 / TF-IDF + t-SNE语义 / GRU时序预测

获取完整源码

技术分类

包含内容

完整源码
项目说明文档

适合方向

适合人工智能、数据科学毕业设计中推荐系统、GNN、用户行为序列与 A/B 测试方向;数据集体量大,适合展示完整分析链路。

关于 AI源码

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

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

相关推荐

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

虚假新闻检测系统

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

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

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

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

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

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

城市交通拥堵 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
中学生学业水平多维度分析与预警系统
高级·新上架

中学生学业水平多维度分析与预警系统

Flask 中学生学业预警系统:UCI Student Performance 真实数据,规则引擎 40%+随机森林/GBDT 60% 融合考前评分,六维雷达与皮尔逊相关分析,教师/管理员双角色,适合教育数据挖掘毕业设计。

PythonHTMLSQLite
4.867