
機械学習による競輪予想の開発雑記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)
いいなと思ったら応援しよう!
