返回列表

[14th place solution] Keras ensemble

592. Linking Writing Processes to Writing Quality | linking-writing-processes-to-writing-quality

开始: 2023-10-02 结束: 2024-01-09 智能评测 数据算法赛
第14名解决方案 - Keras集成

[第14名解决方案] Keras集成

作者: threnox

发布日期: 2024年1月10日

竞赛排名: 第12名

获赞数: 21

首先,我要感谢主办方组织这次比赛。
也感谢所有在notebook和讨论中分享信息的kagglers。
我的模型无法超越公开notebook的分数,但通过集成我能够稍微提升公开notebook的分数。
这是我的第一枚奖牌,我非常开心!

预处理

我做了一些数据清洗工作。
例如,在按住SHIFT键时,即使没有任何变化,似乎也会每隔约30毫秒被记录为一个新事件,因此我将它们合并为一次。

特征工程(与公开notebook类似)

我从essay中创建了69个特征,从train_logs的聚合和分箱中创建了90个特征,针对idol_time和essay相关列。
(非常感谢@kawaiicoderuwu分享的essay构造器
我使用nltk.tokenize来分割essay,然后处理了诸如句子连接或单个符号残留等语法错误。

模型

LightGBM、XGBoost和Keras的集成
10折交叉验证,使用optuna调参
(单个LightGBM | CV: 0.597,公开榜: 0.593,私有榜: 0.574)
(单个XGBoost | CV: 0.597,未提交)

Keras模型

简单的3-4层模型
分数缩放到(-1, 1)之间,并使用softsign或tanh输出。
单个Keras模型的表现较差,但与GBDT模型集成后提升了榜分数。
(单个Keras | CV: 0.620,公开榜: 0.605,私有榜: 0.577)
堆叠和分类方法没有奏效。
由于使用Keras的人很少,这可能只是运气,Keras可能原本就不太适合这场比赛。

集成

我使用了以下notebook进行集成。
非常感谢分享!

最后我将我的模型与(LGBM (X2) + NN + Fusion)按照3:7或4:6的比例进行了融合。
我最终的私有榜分数是0.564197,融合方式为:(keras_softsign * 0.25) + (keras_tanh * 0.05) + (LGBM (X2) + NN + Fusion * 0.7)

感谢所有在notebook和讨论中分享信息的人!
感谢您的阅读!

同比赛其他方案