数据学术活动,是业内工作者和数据爱好者证明、磨练自己实力的一种有效方式。作为全世界最知名的数据挖掘以及机器学习学术活动平台,Kaggle早已成为数据玩家一试身手的练兵场。今天就来分享一道H&M时尚商品推荐比赛题目。
在参加H&M时尚商品推荐比赛中,由于部分字段的取值类型为字符串类型,很难对齐进行有效压缩的,导致内存占用比较大。
压缩 customer_id
customer_id是一个长度为64的字符串,它使用64个字节。将列转换为 int64,它只需要 8 个字节。而且映射关系是1v1的,没有信息丢失,这意味着每个客户都有一个唯一的int64
import pandas as pd
train = pd.read_csv('transactions_train.csv')
train['customer_id'] =train['customer_id'].apply(lambda x: int(x[-16:],16) ).astype('int64')
压缩 article_id
train['article_id'] = train['article_id'].astype('int32')
压缩 其他列
train.t_dat = pd.to_datetime( train.t_dat )
train['year'] = (train.t_dat.dt.year-2000).astype('int8')
train['month'] = (train.t_dat.dt.month).astype('int8')
train['day'] = (train.t_dat.dt.day).astype('int8')
注意事项
在压缩时,不要丢失具体的字段信息。
训练集和测试集压缩方法要保持一致,否则将会出bug。
建议在数据读取统一压缩处理,放在代码最开始位置。
学习数据学术活动,组队参赛,交流分享
报名通道已开启,有想法以及需要报名的,扫码咨询!
© 2024. All Rights Reserved. 沪ICP备2023009024号-1