【SIGNATE】第19回_Beginner限定コンペに参加した話


参加理由

機械学習をちょっとかじったものの、使いこなせるレベルでは全然ないなと。 

機械学習をもっと使えるようになりたい⇒レベルを上げるにはとりあえずコンペに参加したらいいのでは?⇒いきなり難しいと撃沈するから初心者向けに出よう、という流れで標記のコンペに参加しました。

手法と結果の推移

こんな感じ。6回目で設定ラインを超えることができました。

証拠画像も。

1回目:ロジスティック回帰?
2回目:SVM?
⇒1回目と2回目はメモを記入せずに提出したので、どちらを使ったがちょっと曖昧(ここは反省)

3回目:ランダムフォレスト+グリッドサーチで最適化
4回目:K近傍法+グリッドサーチで最適化
⇒1、2回目より精度は上がったが、設定ラインを超えることはできず。使う自分の環境下で使う説明変数を変更したがあまり変化しなかった。この結果から使うモデルを大きく変えないといけないのではという考えに至る。

5回目:lightBGM
6回目:lightBGM+グリッドサーチで最適化
⇒ここでlightBGMと呼ばれる手法が割といいと言われていることを思い出す。まずは試しにデフォルト設定で解析。設定ラインに近づいてきた。ハイパーパラメータを最適化したら超えそうだと感じたのでグリッドサーチで最適化。
無事に設定ライン超えたよ。やったね。

感想

lightBGMすごい
これにしたら割とすぐに精度が向上したので、話題になるだけあるなと思いました(小学生の感想)。

データの前処理が大変
対象のデータは、半分以上文字で入力されていました。これを数字に直していくのが地味に大変でした。現実のデータもこんな感じなんだろうなと。

設定ラインをクリアできて嬉しい
すんなりとはいかなかったのですが、目標をクリアできるのは嬉しいですね。

まだまだ改善点はありますが、これからも時間がある時にコンペ参加を続けていきたいです。
コードはこちら

参考

初心者向け】LightGBM (2値分類編)【Python】【機械学習】
PythonとRPAで遊ぶ