目的
源YooChoose数据集十分庞大,有上千万级别的数据,在测试验证模型性能时加载起来十分费劲。
脚本思路
使用数据集中session_id作为滤网对源数据进行过滤,过滤出2百万个不同的session_id作为训练集。
具体步骤
(1)提取2M个不同的session_id
(2)使用这些session_id过滤原始数据
(3)保存为新数据集
代码
import pandas as pd# 读取原始CSV文件
df = pd.read_csv('../Datasource/yoochoose-clicks.dat')
df.columns = ['session_id', 'timestamp', 'item_id', 'category']# 确定前200万个唯一的 session_id
unique_sessions = df['session_id'].unique()[:2000000]# 使用这些 session_id 过滤原始 DataFrame
top_2m_sessions = df[df['session_id'].isin(unique_sessions)]# 保存提取的数据为新的dat文件,不包括列名
top_2m_sessions.to_csv('../Datasource/yoochoose-clicks_2M.dat', index=False, header=False)
分割后效果
其他
需要YooChoose数据集的可以私信或评论发。