Giter Club home page Giter Club logo

keibaprediction's Introduction

競馬予想モデル

pythonを用いて作成しました。

主に使用したフレームワーク

「pandas, numpy, sklearn, tensorflow, lightGBM」

使用方法

仮想環境orAnaconda起動後本モデルで使用するモジュールをインストールする。

pip intall -r requirements.txt

次に以下2つのファイルを作成すること

Keiba/datafile/
Keiba/datafile/pred_data/

1つ目のファイルはデータを格納するファイル、 もう1つは前処理後のファイルを格納するファイルである。 別のところに保管したい場合はファイルパスを変更の上別のファイル名を使用すること。

インストール後データを格納する。格納先は

Keiba/datafile/

直下にデータを格納する。データ名は「main.csv」とするが変更する際は setup.pyからmain_dataのパスを書き換えること。なお本データはJRA-VANからダウンロードしているが、スクレイピングなど別の方法で得る方法でも可。スクレイピングをする際は著作権や使用方法をまもること。 本モデルで使用するデータはブログに記載してあります。

競馬予測で使用する際のCSVデータ

予想したいデータはmain.csvの【result,time,rank3,rank4,3ftime,basetime】の所に[999]の値を入れること、 legtypeは空欄のままで大丈夫です。

※一部データに先頭に空欄や*,&などが入っている場合がありますのでその際はExcel上で取り除いて頂けますようお願い致します。

準備が完了したら

python setup.py

で起動します。

予想終了後「ans.csv」が出力されます。

予想方法

「ans.csv」を開く。

開いたら、gbm_pred, tf_pred, flagのカラムを参照する。

flagはgbm_pred, tf_predを参照し、3着以内の確率が50%以上の物を0-1フラグで出力しています。

gbm_predはLightGBMモデルで予想した出力結果を返しています。

tf_predはTensorflowモデルで予想した出力結果を返しています。

どちらを参照して予想しても構いませんが、最初にflagを確認してその後gbm_flag、tf_pred を確認する方法をおすすめしております。

※重複が出る可能がありますが、その際はexcel上で重複削除をしていただけると幸いです。

※追記(2022年2月18日)
新たな指標の追加 
probabilityは予想確率を表示しています。0-1フラグを確認した上で比較対象として選んでいただけると幸いです。

免責条項

・本モデルを通して発生した損失や損害については一切責任を負うことができません。予めご了承ください。 ご自身の判断で慎重に馬券の購入をお願いいたします。

・本モデルの情報の完全性・正確性・有用性等についていかなる保証も致しません。

その他注意事項

・起動確認時のPCスペック

メモリ:16.0GB

CPU:Intel(R)[email protected] 3.19 GHz

GPU:NVIDIA GeForce GTX1070Ti

これ以下のPCスペックの場合正常に予想ができない恐れがあります。

Tensorflowを使った予想をしている際、極端に確率が低くならないようmodels内の284行目付近にあるforループで正常に予想できているのか確認の処理をしております。 前処理から処理をしていた際にお使いのPCスペックによっては処理が重くなる可能性があります。その際は, 一度処理を中断してから【csvdataframe.csv】があるのを確認してからsetup.pyにあるcreate_keiba_prediction関数の flag=Falseにすると前処理が省略されてモデルの予想からになりますので、そちらで対応をしていただけると幸いです。 
→2022年2月18日現在では修正が完了しましたので極端に重くなることはないとは思います。しかし起動確認時のPCスペック以下だと重くなる可能性はあります。

・前処理が省略できるタイミングはdataprocess.pyのformatting_data_process関数がreturnを返したタイミングです。 保存方法はcsvデータでされますのでデータによっては容量が多くなる可能性があります。

・データ集計日は2013年の1月1週目のレースからにしています。過去の戦績もデータに入れていますので、 少なすぎると正常な集計ができない可能性があります。その点ご了承ください。

更新履歴

2021年11月8日:v1.0を公開

2022年1月11日:v2.0を公開 tensorflowモデル周りを大幅更新、それに加えてReadmeも更新

2022年2月18日:v2.1を公開 特徴量の追加とtensorflowモデル周りを一部更新

リンク

ブログ :https://kashiwapro.hatenablog.com/

Qiita :https://qiita.com/KHTTakuya/items/35ea5e710f0fb3aa86e4

予想サイト【Proheter】 : https://django-keiba-site.herokuapp.com/

keibaprediction's People

Contributors

khttakuya avatar elevation0729 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.