1️⃣目的:
源YooChoose数据集十分庞大,有上千万级别的数据,在测试验证模型性能时加载起来十分费劲。
2️⃣脚本思路:
使用数据集中session_id作为滤网对源数据进行过滤,过滤出2百万个不同的session_id作为训练集。
3️⃣具体步骤:
(1)提取2M个不同的session_id
(2)使用这些session_id过滤原始数据
(3)保存为新数据集
4️⃣代码及具体逻辑:
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)
5️⃣分割后效果
其他
需要YooChoose数据集的可以私信或评论发。