閉じる
  1. 【Nature Remo mini】スマートリモコンでスマートホームを…
閉じる
閉じる
  1. 【UNIQLO】ユニクロの名作ロンTを買ったら哲学的論考を求められた【…
  2. 普通二輪免許、取得の道【教習の流れ】
  3. 【百均】ワイヤレスマウスを買ってみた【最安】
  4. 【Nature Remo mini】スマートリモコンでスマートホームを…
  5. 【生涯保証付き】ダーンタフの靴下を買えば、もう一生靴下を買わなくて済み…
  6. 【百均】ダイソーの500円加湿器が中々よかったのでスペックをレビューす…
  7. 普通二輪免許、取得の道【準備編】
  8. 【Picogrill398】話題沸騰のピコグリル398を実際に使ってみ…
  9. 【2019年】G検定に合格して思ったこと【Deep Learning】…
  10. 【寝袋なし】最低気温3℃の中で野宿をしたら大変なことになった話【テント…
閉じる

メガネをかけたキリンのブログ

【Python】競馬データ収集スクリプトを書いてみた【機械学習】

 

 

 

 

機械学習をやってみようと急に思い立った私は、まず選んだのが「競馬」というテーマでした。

 

秋から冬にかけて毎週のようにGIという大きなレースが開催される今こそやってみようというわけです。

 

ファーストステップとなる今回は、Pythonを使って競馬のデータを収集するスクリプトを実装したいと思います。

 

実装にあたって

今回、データ収集を行うスクリプトを組むにあたって参考にさせていただいたのはこちらのサイトのスクリプトです。今回の実装の詳しい部分はほぼすべてこちらに載っています。

 

こちらのスクリプトは、すでにそのほとんどが完成されているのですが、今回はさらに改良を行っていきたいと思います。

 

私はあくまで改良を加えただけですので、いいねは作者さんのサイトのほうに行なってください。

 

改良を行なった項目

今回、改良を行なった項目については以下の通りです。

  • 馬番と枠番を取得できるようになった
  • コースデータを芝・ダ・障と距離に分割して格納
  • レースタイムを取得できるようになった
  • 3Fのタイムを取得できるようになった
  • 着差を取得できるようになった
  • 頭数取得ができないケースを回避できるようになった
  • 乗り替わりがあった際のエラー処理を追加
  • 除外が含まれる行を削除してCSV出力する

 

ざっくりまとめると、これまでの機能に加えて、新たなデータを取得をできるようにした部分という形です。

 

ソースコード

ほぼオリジナルをベースに作成しています。

 

ソースコードでは2018~2019年のデータを取得できます。

 

もちろん、範囲を変えることで他の年のデータを取得できるのですが、範囲を広げると時間とメモリをたくさん消費するようになるので、短い期間を数回に分けて取得するのがいいかもしれません。

 

所感

元々のスクリプトの完成度の高さもあり、実装は割とすんなりいきました。

 

ただし、エラーハンドリングやアルゴリズムなど、まだまだ改善できる部分が残されたままです。

 

今回のスクリプトでは、tqdmを使っているので進行状況を確認できます。

 

 

 

また、インターネットサイトからデータを収集するスクレイピングについては岡崎市立中央図書館の事例にあるように、一つ間違えると大きな問題になる可能性を含んでいます。

 

そのあたりをよく理解した上でスクレイピングを行う必要があります。

 

今後の展望

以下にこれから実装したいことを書き記しておきます。

  • 馬場状態の取得
  • 複数のページにわたってのスクレイピング
  • 乗り替わり時のエラーハンドリング

 

特に、乗り替わり時のデータを取得しようとすると、騎手のデータがうまく取得できないという問題があり、その部分をどうするか悩んでいるところです。

まとめ

今回は競馬予想のためのデータ収集スクリプトを実装しました。

 

今回取得したデータはそのまま機械学習で取り扱うことはできないため、データの前処理をする必要があります。

 

次回は、今回取得したデータをもとに、データの前処理をしてみたいと思います。

関連記事

  1. 普通二輪免許、取得の道【教習の流れ】

  2. 【寝袋なし】最低気温3℃の中で野宿をしたら大変なことになった話【…

  3. 【2019年】G検定に合格して思ったこと【Deep Learni…

  4. 普通二輪免許、取得の道【準備編】

  5. 【Python】Udemyでオススメの講座3つ紹介します【機械学…

おすすめ記事

  1. 【Nature Remo mini】スマートリモコンでスマートホームを構築してみる【導入編】

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

ページ上部へ戻る