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

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

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

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

项目封面

截图 1

项目说明

基于 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时序预测

技术分类

包含内容

完整源码
项目说明文档

适用人群

学习参考与二次开发

关于 AI源码

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

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

相关推荐

查看全部 →
城市交通流量预测与拥堵成因分析系统
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 的汽车市场数据分析与可视化平台

本平台是一个基于 Python Flask 框架的汽车市场数据分析与可视化系统,整合了多个真实汽车市场数据集,提供数据概览、车辆检索、多维分析、价格预测、品牌对比、技术规格分析、销量统计等功能模块,适用于汽车市场趋势研究和二手车价格预测场景。

PythonHTMLSQLite
4.894