# Feature engineering,xgboostを見ての気づき
[参考記事](https://www.kaggle.com/dlarionov/feature-engineering-xgboost)
## 気づき
### sns.boxplotで外れ値を見つけ除外(めちゃくちゃ大きい、)
### NaNが別の表現で表されているものを探す(負の値など)、そして代表値で埋めている
### 同じものをあらわしているが、表記が違うものを統合
### shop_nameをcityの大分類に分ける
### time関数で処理にかかった時間を見ている
* [](https://)****[](https://)
## ラグを作る関数
```ex.py
def lag_feature(df, lags, col):
tmp = df[['date_block_num','shop_id','item_id',col]]
for i in lags:
shifted = tmp.copy()
shifted.columns = ['date_block_num','shop_id','item_id', col+'_lag_'+str(i)]
shifted['date_block_num'] += i
df = pd.merge(df, shifted, on=['date_block_num','shop_id','item_id'], how='left')
return df
```