这可能是你看到最详细的NCF代码讲解(1)数据处理篇

本文详细讲解了推荐算法中NCF的实现,重点聚焦在数据处理部分。通过分析何向南老师的GitHub项目,介绍了如何加载ml-1m.train.rating数据集,将其转化为用户-项目交互的矩阵。同时,解释了如何处理test_data,将用户项目交互作为积极样本,未交互的项目作为消极样本。欢迎指正。

最近看了一圈技术栈,感觉无论是自然语言处理或者说是计算机视觉,网上都有一大堆成体系的教学可供参考。但是反观推荐算法这个方向却是寥寥无几。写这篇文章出于两个目的: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
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值