资源简介

用pytorch实现了AutoRec论文中的算法,将AutoEncoder用户推荐系统中的打分矩阵补全。数据集是ml100k,可以在movielens的网站上下载。

资源截图

代码片段和文件信息

“““

“““
import numpy as np
import torch
from torch.utils import data

class Dataset(data.Dataset):
    def __init__(self rating_list n_user n_item user_based=True):
        self.data = rating_list
        self.user_based = user_based
        self.n_user = n_user
        self.n_item = n_item
        self.x_mat = np.ones((n_user n_item)) * 0
        self.mask = np.zeros((n_user n_item))
        for u v r in self.data:
            self.x_mat[u][v] = r
            self.mask[u][v] = 1
        self.x_mat = torch.from_numpy(self.x_mat).float()
        self.mask = torch.from_numpy(self.mask).float()
        if not self.user_based:
            self.x_mat = self.x_mat.t()
            self.mask = self.mask.t()

    def __getitem__(self index):
        return self.x_mat[index] self.mask[index]

    def __len__(self):
        if self.user_based:
            return self.n_user
        return self.n_item

    def get_mat(self):
        return self.x_mat self.mask self.user_based

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        992  2018-04-19 09:55  AutoRec\dataset.py

     文件       1131  2018-04-13 09:53  AutoRec\data_loader.py

     文件        794  2018-04-18 09:53  AutoRec\main.py

     文件       2308  2018-04-19 09:38  AutoRec\model.py

     文件       1155  2018-04-19 10:28  AutoRec\networks.py

     目录          0  2018-04-19 10:28  AutoRec

----------- ---------  ---------- -----  ----

                 6380                    6


评论

共有 条评论