[LB: 0.563549] doi_cites+versions特徴量でLightGBM
https://prob.space/competitions/citation_prediction/discussions/szdr-Post03b9586ec09ee194e133 の続きです。
doi_citesに加えて、versions列から以下の特徴量を生成しLightGBMで学習しました。
- 論文が投稿された時刻(unixtime)
- 論文が最後に更新された時刻(unixtime)
- 最後の更新と投稿された時刻の差分
- 論文が何回更新されたか
def preprocess(input_df):
output_df = input_df.copy()
output_df["first_created_unixtime"] = pd.to_datetime(input_df.versions.apply(lambda p: p[0]["created"])).astype(int) / 1e9
output_df["last_created_unixtime"] = pd.to_datetime(input_df.versions.apply(lambda p: p[-1]["created"])).astype(int) / 1e9
output_df["diff_created_unixtime"] = output_df["last_created_unixtime"] - output_df["first_created_unixtime"]
output_df["num_created"] = input_df.versions.apply(lambda p: len(p))
return output_df
5-fold importance
5-fold OOF RMSLE |
Public LB RMSLE |
0.5608241109517974 |
0.563549 |