提示:参考上一篇文章:图神经网络GNN实践入门
文章目录
前言
- 本篇是基于torch_geometric对图神经网络的进一步实践,将真实数据集处理成模型需要的格式。
- 可以将这种思想应用到处理自己的数据集上。
提示:以下是本篇文章正文内容,下面案例可供参考
一、数据集简介
- 一个商品购买数据集
- yoochoose-clicks:表示用户的浏览行为,其中一个session_id就表示一次登录都浏览了什么商品。
- item-id:表示该用户所浏览的商品,其中yoochoose-buys描述了他最终是否会购买,相当于标签。
- 数据集下载网址:https://www.kaggle.com/datasets/chadgostopp/recsys-challenge-2015
二、数据处理方法
1.引入库
代码如下(示例):
import os
import pandas as pd
from sklearn.preprocessing import LabelEncoder
import torch
from torch_geometric.data import InMemoryDataset, Data
from tqdm import tqdm
- LabelEncoder:用于将分类变量(如‘item_id’)转换为数字编码。
- torch 和 torch_geometric.data:用于处理和定义图数据结构。
- tqdm:用于显示进度条。
2、数据集基本预处理
1)读取文件
from sklearn.preprocessing import LabelEncoder
import pandas as pd
df = pd.read_csv('yoochoose-clicks.dat', header=None)
df.columns = ['session_id', 'timestamp', 'item_id', 'category']
buy_df = pd.read_csv('yoochoose-buys.dat', header=None)
buy_df.columns = ['session_id', 'timestamp', 'item_id', 'price', 'quality']
#对‘item_id’列进行编码
item_encoder = LabelEncoder()
df[