本記事をご覧いただきありがとうございます。本記事はここまでの連載内容を振り返って、やっていることを紹介してまいります。話が進んでいくにつれて、毎回リンクを貼るのが膨大になっていってしまうので、所々で振り返りの記事を書いていこうと思います。
ぜひ最後までご覧ください。
第1話 全体感
第1話では、これからトライしていく課題を設定しています。どんな処理の流れにする必要があるのかなどもこの段階で考えうる形でまとめています。個人でのんびりやっているので、そこまでではないですが、困ったらここに戻って考えていく的な内容を書いています。
第2話 アーキテクト
この記事では、第1話でイメージしていたものを手触り感のあるアーキテクトに落とし込んだ記事になります。
考えている概念図を書いてみてたり、計算方法の可視化をしてみたりしております。だいぶ甘々な内容となっていますが、このような形で一旦まとめて可視化する・言語化する作業って結構大事だったりするので1記事としてまとめました。
第3話 データ取得
この記事では、予測に使用するための処理方法を記載しています。特にスクレイピングの処理とか取得したデータの整形や一部前処理のコードを紹介しています。
具体的なコードの紹介があるので、コピペしてすぐに動かせるものとなっています。Jリーグのデータの予測に限らずスクレイピングの参考にどうぞ。
第4話 前処理
取得したデータの前処理をどんどん進めるパートになっています。スクレイピングで引っ張ってきたデータはかなりそのまま使えないデータとなっているので、文字列処理を中心とした処理をしています。データサイエンスプロジェクトの8割は前処理と言われるものがぎゅっと詰まっているような感じです。なんだかんだ、この処理を書き上げるのに、苦労しました。
第5話 特徴量生成
モデルの精度に大きく関わってくる、特徴量の説明をしています。基本的には得点に関する処理をして、特徴量を生成しております。かなり冗長的な処理となってしまい、省略して掲載してない処理の部分もありますが、ざっと目を通していただいて、概要を把握してもらえればと思います。
この特徴量を生成していく部分で、モデルの精度や、どういった側面から予測をしていきたいかというそれぞれの特徴が出てくるところだと思いますので、みなさんが新しいアイデアをプラスしていってもらえればと思います。
これからのトライ
これからのトライとしては、まずモデルの構築を進めていきたいと思います。さらに残されている課題としては、予測しなければならないtotoのデータを取得する必要があったりします。
加えて、イロレーティングによるスコアを特徴量として考えられるような状態にもしたいと思っています。
モデルの構築もLightGBMを想定していますが、そのほかのモデルも検討したいですし、アンサンブルもしていきたい。今はシンプルな2値分類をしているのでロジスティック回帰でも良いですね。そんなイメージを持っています。
さらに「Bet」の最適化もできると良いな〜なんて考えています。点で予測するのではなくて面で予測するようなイメージです。
そんな感じでいろんなことを考えて、形にして、実装して、記事にしていきたいと思います。これからの記事もお楽しみにしていただければと思います。
コメント