# Event Recommendation (协同过滤测试)
**Repository Path**: edwinjiang703/event_user_recom
## Basic Information
- **Project Name**: Event Recommendation (协同过滤测试)
- **Description**: 基于用户、活动、模型的协同过滤。带L2正则的SVD矩阵分解
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2018-06-22
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Event Recommendation (协同过滤测试)
#### Description
##### 实现基于用户的协同过滤(用户本身,用户好友分析)
1 先对用户数据进行预处理. 用normalize来做归一化,因为要使用scipy里的相似度计算
2 通过userpairs关系,即表示两个用户对同一个活动感兴趣。即所谓的关联用户,指的是至少在同一个event上有行为的用户。通过scipy的矩阵距离计算公式来计算关联用户之间的相似度.
3 统计每个用户的好友信息
##### 实现基于活动的协同过滤(活动本身,用户活动关联分析)
1 活动数据预处理,包括编码、PCA降维等 。用normalize来做归一化,因为要使用scipy里的相似度计算
2 统计活动的参与或者不参与情况
3 定义活动相关性矩阵。uniqueEventPairs指的是互相关联的活动,即至少一个活动被同一个用户行为过
4 通过scipy的矩阵距离计算公式来计算关联活动之间的相似度
##### 能够实现基于模型的协同过滤
1 用传统的SVD,对userEventScores(记录用户对活动感兴趣)矩阵分解
2 用基于增加正则项(RSVD)的直接矩阵分解来做
##### 组合各种前面生成的特征,生成新的训练数据
1 结合前面生成的特征,应用UserCF算法进行协同过滤得到新的特征并保存为csv文件,以供后期模型训练.
新生成的训练数据:new_data_train.csv文件
### data_processing.py 文件生成uniqueEventPairs、userpairs、userindex、eventindex、userEventScores这些数据集