点评下kaggle九坤比赛第一名方案
由kaemp创建,最终由kaemp 被浏览 116 用户
模 型:
LGBM+TABNET,不是特别新颖的东西。
特 征:
300+100。300就是九坤给的300个匿名特征,至于这100个新特征,就比较”有意思“了,是某100个特征的横截面的均值(如下面的代码),我猜第一名的大神们应该不是金融背景的,因为金融人显然有更直接的处理方式。
features = [f'f_{i}' for i in range(300)]
corr = train_df[features[:] + ['target']].corr()['target'].reset_index()
corr['target'] = abs(corr['target'])
corr.sort_values('target', ascending = False, inplace = True)
best_corr = corr.iloc[3:103, 0].to_list()
time_id_mean_features = []
for col in tqdm(best_corr):
mapper = train_df.groupby(['time_id'])[col].mean().to_dict()
train_df[f'time_id_{col}'] = train_df['time_id'].map(mapper)
train_df[f'time_id_{col}'] = train_df[f'time_id_{col}'].astype(np.float16)
time_id_mean_features.append(f'time_id_{col}')
features += time_id_mean_features
总 结:
整个方案比较常规,突出一个稳,现在人工智能+大数据时代,模型可以搞的很复杂,数据可以很多,过拟合很容易,把握度却很难,也最有价值。
链 接:
https://www.kaggle.com/competitions/ubiquant-market-prediction/discussion/338220