前回のデータではダメだったので、とりあえずデータの見直しをしていきます。
前回の記事はこちらです。
まず前回の結果としては、各チームが対戦したときに何点取るかを解にしていました。しかし、あまりいい結果を生んでいない事と最終的に欲しいのはtotoとしての結果のHOMEの勝ち、AWAYの勝ち、引き分けの3択なのでデータの再構築を行います。
まずはスコアのファクターを消してtotoの結果に変更しました。
また、野外のスポーツなので雨が得意なチームみたいなのもあるかな・・・とか思いましたので天気と気温と湿度をとりあえず追加してみました。
正直、何がファクターになるかわからないからとりあえず詰め込めるだけ詰め込もうという形です。結果に変化を及ぼさない様であれば消すつもりで、がしがしスクレイピングでデータを取って成形してCSVにしていきます。
では、前回のサイトのリストのスコアの部分を選択すると、気温や湿度が出てきたのでそいつを取得する。が、まずURLが飛び飛びのアドレスになっているので、まずはここからアドレスのリストを作成することにした。
やり方は前と同じですが、今回必要な部分は<a href=''>タグのシングルクォーテーションの中なので取得した中のattrsプロパティを使います。(前回はcontentsプロパティを使用しています。)
どばーっとこんな感じで取得できたので、それぞれのURLから天気と気温と湿度を普通に取得してCSVを合成しました。
気温とか湿度とかだけで多少はよくなったのかな?でもかなりHOMEを贔屓した予想になってるな・・・・
次回も、もう少しデータの構築を進めたいと思います。
出来れば、チームのオフェンス力とかディフェンス力とかそういったものを数値化できるといいけど何かあるかな。。。
折角手に入れたスコアから、前節までの平均得点数と平均失点数を出してファクタに追加してみようかな。
Python機械学習プログラミング 達人データサイエンティストによる理論と実践