项目简介
本项目运用LFM(Latent Factor Model)方法为用户进行电影推荐召回。项目使用了MovieLens数据集,以MSE(Mean Squared Error)作为损失函数,通过梯度下降算法来优化模型。项目特色是采用了i2i(item-to-item)和u2i(user-to-item)两种召回策略。
项目的主要特性和功能
- 数据预处理:过滤行为过于频繁的用户;划分训练集和测试集,rating >= 4为正样本,<4为负样本;使用bkdr2hash64方法进行特征哈希化;以tfrecords格式保存数据并模拟真实数据保存为多个文件。
- Parameter - Server类:用单例模式管理参数(含嵌入维度),提供pull、push、delete和save方法管理隐向量。
- InputFn类:模拟实际情况数据流,读取多文件并返回batch迭代器;读取tfrecords文件并解析,从PS中pull隐向量,对数据进行分批。
- 模型部分:定义mf_fn函数进行预测并计算loss(MSE);定义setup_graph图结构类进行梯度计算和参数更新;定义AUCUtils模型评估类,实现reset、add、cal和calc_str方法;定义train函数,设置参数,定义PS对象、InputFn对象、setup_graph对象并绑定,定义AUCUtils对象。
- 召回应用:使用i2i和u2i策略进行电影推荐召回。
安装使用步骤
- 确保已经下载并解压项目源码文件。
- 安装必要的依赖库,如TensorFlow等。
- 按照项目需求格式整理并准备数据。
- 运行数据预处理脚本:运行
data_processing.py
进行数据处理和格式转换。 - 运行模型训练和评估脚本:运行
model.py
进行模型训练和评估。 - 运行召回应用脚本:运行
recall.py
进行电影推荐召回。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】