見出し画像

機械学習による競輪予想の開発雑記2021年1月

ども、ムジン(https://twitter.com/MKP3share)です。

自分用のメモ書きとノウハウ共有です。

▼スクレイピングで困惑した問題

競輪データはある時期からデータ形状が違う。

そのため、現在取得しやすいデータ期間に絞った。

あくまで分析処理全体を考えた。
アタマからシッポまで処理を回せることが第一条件。

▼テストデータの生成

レース毎に出走人数が違うので、9車と7車でデータを分けた。
これがかなり処理の都合上良かった。

トレーニング用のデータで、明示的に区切る場所を作った。
テスト時にはわかりやすくて良かった。

 #指定行でデータを分割する 
train = df_result_dropna[0:cut_train]

分割したデータの着順だけを抜き出す。

tr_y = train['result']

着順データの正確性が低い時に、欠損値を落としていた時のサンプルが以下。
全体を動かすことを優先していた結果。

その後、着順データに文字列(落車など)が入るところが、文字コードの問題で処理過程でNaNになるのを発見。
今に至る。

tr_x = train.drop(['result'], axis=1)
##tr_x = tr_x.fillna(0)

予想印の分析から入った競輪予想。
ダミー変数で、ドロップファーストを試していた時。
今もこの手の変換では迷っている。
最終的には、多重共線性を気にせず、全てを混んで分析してから、余計な要素を削除する方式になってきています。

df[column] = pd.Categorical(df[column])
df = pd.get_dummies(df,columns=[column],drop_first=True)


いつもお読みいただき、ありがとうございます。 書くだけでなく読みたいので、コメント欄で記事名入れてもらうと見に行きます。