本文记录了Kaggle上Predict Future Sales问题的探索过程。
基础特征
数据主要有三个特征:shop_id, item_id, item_cnt_day。因为题目要求预测月份的销量情况,需要将训练数据中的按天销量改为按月销量,这里可以使用group_by或者pivot_table函数进行聚合。 1 2 3 4 5 6 7 8 9 10 11 12
| train_data = pd.read_csv('./data/sales_train.csv') #删除异常数据 train_data = train_data.drop(train_data[train_data.item_price < 0].index | train_data[train_data.item_price >= 100000].index) train_data = train_data.drop(train_data[train_data.item_cnt_day < 0].index | train_data[train_data.item_cnt_day >= 1000].index)
train_data1 = pd.pivot_table(train_data, index=['shop_id','item_id','date_block_num'], values=['item_cnt_day'], aggfunc=[np.sum],fill_value=0).reset_index(); train_data1.columns = train_data1.columns.droplevel().map(str) train_data1 = train_data1.reset_index(drop=True).rename_axis(None, axis=1) train_data1.columns.values[0]="shop_id"; train_data1.columns.values[1]="item_id"; train_data1.columns.values[2]="month_id"; train_data1.columns.values[3]="item_cnt_month";
|