數據學術活動,是業內工作者和數據愛好者證明、磨練自己實力的一種有效方式。作為全世界最知名的數據挖掘以及機器學習學術活動平臺,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。
建議在數據讀取統一壓縮處理,放在代碼最開始位置。
學習數據學術活動,組隊參賽,交流分享
報名通道已開啟,有想法以及需要報名的,掃碼咨詢!


? 2025. All Rights Reserved. 滬ICP備2023009024號-1