我有一个推荐系统,它使用协作贝叶斯方法,使用 pSDAE 从 Citeulike 数据集中推荐科学文章
文本信息(作为 pSDAE 的输入)在文件 mult.dat 中,评级矩阵(作为 MF 部分的输入)在文件 cf-train-1-users.dat 中,并使用以下代码加载:
def get_mult():
X = read_mult('mult.dat',8000).astype(np.float32)
return X
def read_user(f_in='cf-train-1-users.dat',num_u=5551,num_v=16980):
fp = open(f_in)
R = np.mat(np.zeros((num_u,num_v)))
for i,line in enumerate(fp):
segs = line.strip().split(' ')[1:]
for seg in segs:
R[i,int(seg)] = 1
return R
原始数据采用正确的 Excel 格式,引用为 doc-id、title、citeulike-id、raw-title、raw-abstract。
包含 hte 文本信息的 mult.dat 文件如下所示:
63 1:2 1666:1 132:1 901:1 1537:2 8:1 9:1 912:1
trainusers.dat 文件如下所示:
10 1631 3591 10272 14851 4662 13172 12684 5324 3595 3404
这是整个 Recommender 系统的 ipynb 链接:
https://github.com/js05212/MXNet-for-CDL/blob/master/collaborative-dl.ipynb