Skip to content

secary/mbd_a3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛒 MBD Assignment 3 — Group 42

👥 Members

Casey Lao, Lucas Ma, Secary Ma

📌 Task Overview

该项目为开发一个基于FP-growth与协同过滤的基础上的混合推荐算法,旨在提升针对个性化推荐时的准去率与召回率。
本项目使用 Python 编写,提交请尽量使用 main 分支(git push origin main),请在本地做好分支管理。
由三人共同构建,贡献如下:

  • Task 1(Lucas): 利用FP-growth挖掘出频繁商品集规则
  • Task 2(Casey): 使用SVD或Cosine相似度对用户行为打分,根据打分进行个性化推荐,同时还需要合并Task 1的规则推荐列表
  • Task 3(Secary): 整合Task 1与Task 2的输出并设计一种能避免冷启动等问题的混合推荐算法

混合推荐算法实现流程图 diagram

🗂️ Directory

├─data                                  # 数据目录
├─materials                             # 参考资料目录
├─notebook                  
│      42_assign3.ipynb                 # 最终整合代码
│      task1.ipynb                      # Task1关联规则挖掘代码
│      task2.ipynb                      # Task2协同过滤推荐代码
│      task3.ipynb                      # Task3混合推荐算法代码
├─report
│  │  42_assign3.bib                    # 报告参考资料
│  │  42_assign3.cls                    # 报告模板
│  │  42_assign3.pdf                    # 报告正文(含附录)
│  │  42_assign3.tex                    # 报告源码
│  └─appendices                         # 附录目录
├─result                    
│      cf_recommendations.csv           # 协同过滤推荐结果
│      hybrid_recommendations.csv       # 混合推荐结果
│      hybrid_test_result.csv           # 混合推荐验证结果
│      rules.csv                        # 关联规则
└─scripts
    │  methods.py                       # 公共函数模块
    │  task1.py                         # 频繁模式挖掘脚本
    │  task2.py                         # 协同过滤推荐脚本
    └─ task3.py                         # 混合推荐脚本

🚀 Requirements

pip install -r requirements.txt

📓 Notebooks

  • Task1.ipynb 关联规则挖掘(FP-Growth)演示
    使用训练集 Groceries data train.csv 对应 Lucas 编写的任务 1 结果展示

  • Task2.ipynb 使用 Cosine SimilaritySVD 预测评分、生成推荐
    并在验证集 Groceries data test.csv 上评估
    对应 Casey 编写的任务 2 结果展示

  • Task3.ipynb 融合 Task1Task2 的输出,生成混合推荐模型
    包含完整推荐流程与测试结果展示

  • 42_assign3.ipynb 整合三个任务的代码
    在验证集上评估推荐效果并分析表现
    对应最终交付的混合推荐系统与报告分析

📂 Scripts Overview

  • Task1.py 使用 AprioriFP-Growth 挖掘用户交易中的关联规则
    默认参数:min_support=0.05min_confidence=0.3
    输出保存至 rules.csv

  • Task2.py 使用 Truncated SVD 对用户评分矩阵进行协同过滤推荐
    输出个性化 Top-N 推荐列表(结合 Task1 规则)
    保存推荐结果至 cf_recommendations.csv

  • Task3.py 融合 Task1(规则推荐)与 Task2(协同过滤)结果
    综合评分:关联规则权重 0.5,协同过滤权重 1.0,优先推荐关联部分
    推荐结果保存至 hybrid_recommendations.csv 并对验证集进行评估,结果保存至 hybrid_test_result.csv

  • Methods.py 公共函数模块,包含:

    • 数据预处理(评分矩阵与交易列表)
    • 列表型字符串解析
    • 模型评估指标计算等

About

MBD Assignment 3

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published