最近看了一圈技术栈,感觉无论是自然语言处理或者说是计算机视觉,网上都有一大堆成体系的教学可供参考。但是反观推荐算法这个方向却是寥寥无几。写这篇文章出于两个目的:1.巩固自己的学习,2.对外输出所学。
数据集
何向南老师github:
https://github.com/hexiangnan/neural_collaborative_filtering
我们先看一下数据集组成。
然后今天说的是 load_dataset做了什么事情。
先上代码:
导包
import pandas as pd
import numpy as np
import math
from collections import defaultdict
import heapq
import scipy.sparse as sp
import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.utils.data
import torch.backends.cudnn as cudnn
import os
载入数据。
def load_dataset(test_num=100):
train_data = pd.read_csv("./ncf_data/ml-1m.train.rating", \
sep='\t', header=None, names=['user', 'item'], \
usecols=[