Youtube動画で紹介しているプログラムをリファレンス付きで公開
目次
- 1.概要
- 2.フォルダ構成
- 3.クラス
- Scraper --- スクレイピング関連の制御をまとめたクラス
- 静的メソッド
- scrapeRaceHTML(targetYear) --- レース結果HTML取得メソッド
- extractionRaceResult() --- レース結果データ抽出メソッド
- extractionRaceInfo() --- レース情報データ抽出メソッド
- scrapePedHTML() --- 血統HTML取得メソッド
- extractionHorsePed() --- 血統データ抽出メソッド
- scrapeHorseResultHTML() --- 戦績HTML取得メソッド
- extractionHorseResult() --- 戦績データ抽出メソッド
- scrapeEntryTable(raceId: str) --- 出馬表取得メソッド
- Dataset --- 競馬予想に使用するデータセットの操作・加工を行うクラス
- プロパティ
- dataset --- データセット
- columnsDict --- 列リスト
- メソッド
- __init__(load=True: bool) --- コンストラクタ
- update(targetYear) --- データセット更新メソッド
- encoding(src: DataFrame, fit=False: bool) --- ラベルエンコーディングメソッド
- preprocessingEntryTable(entryDf: DataFrame) --- 出馬表前処理メソッド
- 静的メソッド
- addHistrical(src: DataFrame) --- 戦績付与メソッド
- addInterval(src: DataFrame) --- 出走間隔付与メソッド
- addPeds(src: DataFrame) --- 血統付与メソッド
Release note
Ver.0.1.2
レース結果とレース情報内のスキップ処理のバグを修正
作成編の解説動画は↓↓↓↓をどうぞ。
既に出力したファイルがあった場合は、一度ファイルを読み込み既に取得済みのHTMLはスキップする。
引数は整数型または整数型のリスト。
既に出力したファイルがあった場合は、一度ファイルを読み込み既に取得済みのHTMLの処理はスキップする。
入力、出力ともにファイルの為、引数の指定は不要。
./data/race_html.pklが存在しない場合、例外を発生します。
既に出力したファイルがあった場合は、一度ファイルを読み込み既に取得済みのHTMLの処理はスキップする。
入力、出力ともにファイルの為、引数の指定は不要。
./data/race_html.pklが存在しない場合、例外を発生します。
既に出力したファイルがあった場合は、一度ファイルを読み込み既に取得済みのHTMLはスキップする。
入力、出力ともにファイルの為、引数の指定は不要。
./data/race_result.pklが存在しない場合、例外を発生します。
既に出力したファイルがあった場合は、一度ファイルを読み込み既に取得済みのHTMLの処理はスキップする。
入力、出力ともにファイルの為、引数の指定は不要。
./data/ped_html.pklが存在しない場合、例外を発生します。
既に出力したファイルがあった場合は、一度ファイルを読み込み、horseIdごとの直近日付とレース結果の直近日付を比較し、収集対象かどうかを判断します。
入力、出力ともにファイルの為、引数の指定は不要。
./data/race_result.pkl及び./data/race_info.pklが存在しない場合、例外を発生します。
既に出力したファイルがあった場合は、一度ファイルを読み込み、horseIdごとの直近日付とレース結果の直近日付を比較し、収集対象かどうかを判断します。
入力、出力ともにファイルの為、引数の指定は不要。
./data/horse_html.pkl及び./data/race_result.pkl並びに./data/race_info.pklが存在しない場合、例外を発生します。
収集データは出馬表及びレース情報を取得し、テーブル結合、出馬表、レース情報のデータフレームをtupleとして戻り値で返す。この時データフレームは前処理済みのデータなので、ラベルエンコーディングしてそのまま推論を実行できる。
天気及び馬場情報が公開前の場合inputboxを表示し、それぞれ手入力にてデータを生成する。
読み取り専用。
keyを指定することでカテゴリ別の列名をリストで取得。
読み取り専用。
key | 説明 |
all | データセットの全ての列名を取得 |
entry_table | 出馬表取得時の列名を取得。allの着順を削除したもの。 |
histrical | 直近9レース分の戦績データ部分の列名を取得 |
ped | 血統データ部分の列名を取得 |
numeric | 量的変数として扱う列名を取得。 |
categorical | カテゴリ変数として扱う列名を取得。 |
./data/dataset.pklが存在しない時は例外を発生させる。
updateメソッドの実行時など./data/dataset.pklを実行する必要が無い場合は、loadにFalseを指定してインスタンスを行う。
引数は整数型または整数型のリストを指定する。
引数
src: DataFrame
ラベルエンコーディングを行うデータフレームを指定する。
fit: False: bool
Trueを指定することでラベルエンコーダーを生成する。
Falseを指定すると内部に保持されたラベルエンコーダでデータフレームの変換のみを行う。
戻り値
ラベルエンコーディングを実行したデータフレームを返す。
引数
entryDf: DataFrame
前処理を行う出馬表データフレームを指定する。
戻り値
処理済みのデータフレームを返す
実質出馬表データ専用。
公開メソッドにした理由も静的メソッドにした理由も不明。必要ないじゃん。
同じく公開メソッドにした理由も静的メソッドにした理由も不明。必要ないじゃん。
公開メソッドにした理(ry