kaggle Tabular Playground Series
kaggleで毎月実施されているテーブルデータの練習問題です。
今回はバイオデータから状態1、0を判断する2値の分類問題です。
データはセンサーの時系列情報のみなので、LihgtGBMで予測するにはデータを変換する必要がありました。
センサー値の基本統計量を特徴量とするだけでなく、データをフーリエ変換して周波数のピークの大きさの順序を追加の特徴量とすることで精度アップを狙いました。
いろいろやってみましたがなかなか上位には上がりません。
(LightGBMを使用している中ではスコアは高い方だと勝手に思っています。)
上位の人たちは主にLSTM系のモデルを使用してスコアを稼いでいるようでした。
データの形式的にもLSTMに適しているので当たり前と言えば当たり前ですね。
こちらは特徴量を新しく追加すると言うのではなく、LSTMの最適モデル条件を探すという感じの作業です。
LSTMはニューラルネット系のモデルなので、私はまだあまりなじみがありません。
環境もTPUを使用できないと、何時間もかかってしまいます。(お金持ちのモデル?)
しかし、予測精度はすごく良いのでびっくりです。
最上位の人たちは、複数のモデルのアンサンブルを実施してスコアを上げているようなので、上位の人のBi-LSTMモデルを拝借して自分のLightGBMのモデルのアンサンブルを試したところ拝借モデルのスコアよりアップ。
Kaggle Expertの人たちがコードをアップしてくれているのですごく参考になります。
結果
アンサンブルモデル 130位/816 スコア 0.97679
上位のBi-LSTMモデル 143位/816 スコア 0.97493
LightGBMモデル 350位くらい/816 スコア 0.93330