逃亡生活(ボート)part8
取れたには取れたが当地勝率と実際問題かぶっていて、
これを入れるのはどうかという考えが出てきたのでスルーしておく。
年齢・体重まできたので平均STと全国と当地の勝率二連率三連率。
そしてモーターとボート、チルト。
FとLは一回入れずに回してみる。
特徴量のndarrayとラベルのndarrayが出来上がった。
ここまでクソ長かった、まあ主に不勉強によるところがでかいが。
ということで保存しておこう
次回いよいよガチ目のNNを回すの巻
逃亡生活(ボート)part7
ようやくだらだら取得していたレコードが18万を超え、
そろそろビッグデータの扱いについて考えないといけない。
いちばん大事なのって実用性だと思う、
ということで一回.read_sqlで全部取得してみてどれくらいかかるか見てみる。
2分ぐらいで終わるわ、すごいすごいpandas。
なんか102件ぬけてますけど?
まあいいやこれで。
とりあえずこれで一回ガチでどの程度予想できるかやってみるか。
使う特徴量を選別→ndarrayに前処理して追加していく
最初はラベルのoheからやる、わかりやすいから。
1着2着しかないデータがあるっぽいのでそのレコードを除外する。
正規表現で除外するのが多分一般的かと思うがめんどくさいのでできなかったIDを返す関数にしよう。
77個あった
これをインデックスでドロップしていく
ac.drop(de, axis=0)
単にこれでよかった、払い戻し金とかぶったらとか考えてしまったが多分文字列だったはず。
年齢は前回やっているので、次は体重。
ターゲットと年齢体重まで入ったので
ここで一旦blogを閉じる
次回
場のデータ
ボートレース場データ | BOAT RACE オフィシャルウェブサイト
ここに過去3ヶ月間の枠ごとの勝率があるのでぶち込む
逃亡生活(ボート)part6
逃亡生活(ボート)part5
正解のラベル作るところから
"1-2-3"というラベルのままではhot-oneにできないので
pandasの機能で文字列を分割する。
前回は一つのラベルでやってしまったので一括でやっていく
馬鹿すぎてえらい時間かかったわ、なんで3回も4回もタプルにしようとしたりしてるんだろう。疲れてるのよモルダー。
ということでblog作業をひたすら放置していきなり結果
モデルはこんな感じ
結果ランダムより悪いね、過学習ってやつか。いや違う20しかテスト用に用意してないだけでランダムと同じだわ。
次回から年齢は入れなくて良さそうだけどどうでしょうねえ。
流石に疲れすぎててblogやってる場合でもない気がするのでだらだらします。
逃亡生活(ボート)part4
ゴミを入れたらゴミができる。
と言われてもなにがいるもんで何が捨てるもんかわかんねーよ状態。
無駄に悩んでみたもののよくわからないので関係ありそうなものをちょっとずつ試す。
年齢、rank(A1とか)、全国勝率、場ごとの枠の勝率、モーター勝率、ボート勝率。
年齢と勝率は単にノーマライズできるだろうけど
rankはカテゴリー変数かと思ったけどこれも普通にノーマライズしたほうがいいか。
年齢から始める、
kerasのutilsでやろうと思ってるので読む
どうやらnumpyをいちいち使って高速化してる
入れたら怒られた
.valuesを使うらしい。
いよいよノーマライズ
axis = -1の意味がいまいちわからねえと思った
なのでレーサー1から6までの年齢のndarryで試す
その前にpandasのカラム複数選択で躓く、リストで指定するのか。
axisがやっぱりよくわからない、1次元のテンソルだとあまり意味がなさそうだ。
とりあえず年齢のみでディープラーニングしてみる。
train_test_split()が便利そうなのでsklearn入れる
一部分で試そうと思ったがターゲットの部分つまり654がないとtargetのホットベクトルで躓くなあ、たまたま6-5-4があればいいがそんな都合のいいことはない気がするのでひとまず検索してなければくっつけてからドロップする関数かいとくか。
都合のいいことに今回はあったのでそのままいけそうだ。
けどよく考えたら正解のラベル作る関数まだ全然書いてなかった。
とりあえずこのpart4は閉じとこう
逃亡生活(ボート)part3
とりあえずスクレイピングして1年ぐらいとれて、ぼちぼちデータを形成しようかという重い腰をあげようか下げようかひたすらじりじりしている。
正解ラベルを6P3で123から654まで120個のラベルにhot-noeベクトル化まで。
多分そんな都合のいいライブラリないだろうから自作していく、
まず順列のリストを作成
itertoolsをインポートして順列を作成それを120の組み合わせパターン埋める
ラベルの形式がstrで'1-2-3'のような書式なので整形
それをインデックスにあてる
もともと文字列なので変換するのが無駄だったので
そもそもの順列の方を文字列で作ることにした
ようやくインデックスが返ってきたのでone-hot化する
ここは便利なKerasのユーティリティーを使う
最大値がそのままカテゴリー数なのでリストに119(6-5-4)を含めて試した。
ようやくラベルのベクトル化のめどが立ったところで今日は終わり。
次回は特徴量(データ)のベクトル化とか。