第639回トトくじ WEKAによる機械予測の手法を一から説明してみる。
どんな手法で機械予測をしているのか?
さて、ここ最近はディープラーニングやらPYTHONについて調べていたので、トト予想は休止状態でした。
何事も継続する事が大事ですから、再開したいと思います。今回は私の行った予測手法を一から解説します。肝心の正解率については”正直わかりません・・”
少しでもいいから参考になればいかなと思います。
どんなデータを用意すればいいの?
以下に今回の予測で使用するデータについて説明します。
1、データを取ってくるサイトは・・・http://www.jsgoal.jp/schedule/2013/j2.html
上のリンクは”J2”の箇所。”J1” についても ”日程・結果”というタブを開いてコピーしてきます。
今回は直前一回分のデータを使用します。データといっても対戦カード、試合会場、スコアの三つだけです。
今回の例で言えば 二部は23節、一部は15節といった具合です。
2、コピーしたデータをエクセルに貼ります。
3、データを整形する。
次はデータに細工をします。今回は私も初めての形式にしてみます。
画像を貼りますから確認して下さい。
上から順にホームチーム、次にアウエイチームが並んでいます。
2列、3列目もチームに対応する試合会場、そしてゴール数とします。
要するに対戦カードを横に並べるのではなく、「あるチームがどこのスタジアムでどれだけゴールしたか?」という形になっています。
4、予測しようとする対戦カードについても同じようにコピー、そして整形します。
この場合はスコアの欄は ”?”と入力します。
整形したデータに属性名を付ける。
つぎに貼り付けたデータの最上部に”属性”をつけます。
1行分を挿入してください。
データは3列あります。そのそれぞれに名前を付けます。半角英数なら何でもいいです。
自分が識別できればOKです。
WEKAを開く。
まだインストールしていないなら最新版をインストールしてください。
以下がWEKA公式サイトです。
http://www.cs.waikato.ac.nz/ml/weka/
ちなみに私のヴァージョンは WEKA 3.7.7 です。環境は WINDOWS7。32bit
データの読み込み
デスクトップに保存したファイルをWEKAに読み込みます。
最初に開く小さいウインドウ(全体のメニュー)は一番上の EXPLORER を選択。
画面が開いたら 上から二列目の ”OPEN FILE" をクリック、ファイルの置き場所を選択して開いてみてください。
属性にフィルターをかける。
さあ次は作成したデータにフィルターをかけてみます。
目的は”属性を変更する”ためです。
WEKAにおいては、数字は ”NUMERIC" 文字列は ”NORMINAL" と表現され、目的変数の属性によって使えるアルゴリズムが制限されます。
簡単な説明ですが、以上の理由から今回は数字を”名義属性”とするために以下の画像のようにフィルターを使用しました。
上から3列目の左側に FILTER と書かれ、その下に CHOOSE というボタンがあります。
これを押すとフィルターのメニューが開きます。
ツリー状のメニューとなっていますので分かりやすいかと思います。
ちなみに選ばれたフィルターは ”教師なし” という分類に属しています。
フィルターを選択したら、右側の ”APPLY" を押すように。これで目的変数の数字(GOAL)が名義属性となりました。
実際に走らせてみる。
準備ができたら実際に走らせて予測してみます。
一番上のメニューから ”CLASSIFY" をクリック、画面が切り替わります。
つぎはアルゴリズムを選択します。
アルゴリズムは classifier の CHOOSE で色々切り替えられます。画像では MLP を選択しています。
test option は 一番上を選択。
more option は 必ず開いて設定してください。
画像では ”OUTPUT PREDICTION” を、PLAIN TEXT に設定してあります。
目的変数(NOM)がGOALになっているのを確認して、START を押せば計算がはじまります。
出力は右側の欄に出てきます。
出力を保存、取り出す。
このままでは出力結果が取り出せません。
外部に保存するためには以下のようにしてください。
1、計算が終わると左側に記録が残ります。実際に走らせると”青い色が付いてるはずです。”
これはクリックするごとに切り替わります。
2、これを右クリックするとメニューが出ます。
”SAVE RESULT BUFFER” をクリックすると保存ウインドウが開きます。
ここでフォルダを指定して、名前を付ければ保存できます。
拡張子は必ず指定してください。私の場合はいつも xls としています。(あとから使いやすいようにエクセル がいいと思います。)
計算結果を見てみる。
さあ、デスクトップにある計算結果をみてみましょう。
ファイルを開くと予測モデルの作成に始まり、ずらーっと計算が続いています。
肝心な結果はずーっと後ろ・・・終わりの方にあります。
これをまた元の形に戻してみます。
若干、手を加えましたがこれが 639回の予測です。
出力されたファイルの”?”に対応する数字(スコア予測値)を対戦カード別に並べ替えただけです。
エクセルの(データの区切り)という機能で要らない要素を消しています。
まとめ
以上、長々と説明してみました。だいたいのイメージはつかめたかと思います。
WEKAを初めて触る方にはもっと説明が必要かもしれませんね。
こういったやり方は過去に何度も行ってきました。しかしまだまだ精度が足りません。
今回の予測は、データの整形の仕方が”初めてやる方法”なのですが、おそらく上手くいかないだろうと思います。
今後も結果を見て、色々試していきます。