Help us understand the problem. What is going on with this article?

初心者が機械学習をやってみたら(その3)

早速これから、データの取得を行いたいと思います。
使用するデータの紹介、取得元を記載します。

データは
http://www1.mbrace.or.jp/」
から頂きました。
(このページ自体には何もありません)

使用するデータは以下の3種類です。
・番組表
・競走成績
・レーサー期別成績

提供されているデータは1996年からありますが、
今回私は「2012年4月に持ちペラ制度が廃止」と言う区切り目を意識し、
2012年5月からのデータを取得することとしました。

1.番組表

ボートレースの開催情報が記載されています。
各開催場、各レースの枠番、出場選手の情報など。
更新は毎日です。

ここから取得可能です。
http://www1.mbrace.or.jp/od2/B/dindex.html」
しかし、1ファイルずつ取得するのは現実的ではないです。

http://www1.mbrace.or.jp/od2/B/[開催年月6桁]/b[開催年月日6桁].lzh
と言う法則があります。
開催年月6桁 :YYYYMM
開催年月日6桁:YYMMDD
を日付ごとにブン回せば取得できます。

例)2020年07年14日の場合
http://www1.mbrace.or.jp/od2/B/202007/b200714.lzh

圧縮形式はLZHなのでダウンロード後、解凍が必要です。
解凍のために「lhasa」をインストールします。

$ sudo apt install lhasa
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  liblhasa0
The following NEW packages will be installed:
  lhasa liblhasa0
0 upgraded, 2 newly installed, 0 to remove and 312 not upgraded.
Need to get 33.7 kB of archives.
After this operation, 109 kB of additional disk space will be used.
Do you want to continue? [Y/n] 

「Y」を入力しインストールする。

文字コードはSJISとなっています。
表示するために、「nkf」をインストールします。

$ sudo apt install nkf
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  nkf
0 upgraded, 1 newly installed, 0 to remove and 312 not upgraded.
Need to get 123 kB of archives.
After this operation, 309 kB of additional disk space will be used.
Get:1 http://ports.ubuntu.com/ubuntu-ports bionic/universe arm64 nkf arm64 1:2.1.4-1ubuntu2 [123 kB]
Fetched 123 kB in 1s (96.3 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package nkf.
(Reading database ... 144514 files and directories currently installed.)
Preparing to unpack .../nkf_1%3a2.1.4-1ubuntu2_arm64.deb ...
Unpacking nkf (1:2.1.4-1ubuntu2) ...
Setting up nkf (1:2.1.4-1ubuntu2) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...

番組表の内容はこんな感じです。

$ nkf b200714.txt | less
STARTB
23BBGN
ボートレース唐 津    7月14日  第3回住信SBIネッ  第 1日

                            *** 番組表 ***

          第3回住信SBIネット銀行賞           

   第 1日          2020年 7月14日                  ボートレース唐 津

               −内容については主催者発行のものと照合して下さい−


 1R  予  選            H1800m  電話投票締切予定08:47 
-------------------------------------------------------------------------------
艇 選手 選手  年 支 体級    全国      当地     モーター   ボート   今節成績  早
番 登番  名   齢 部 重別 勝率  2率  勝率  2率  NO  2率  NO  2率  123456見
-------------------------------------------------------------------------------
1 4171榎 幸司37長崎51A2 6.36 46.67 5.47 31.58 35 32.31 41 34.48              9
2 3305小野信樹52岡山53B1 4.06 20.73 3.83 22.22 67 36.96 72 37.31               
3 4874池田奈津26福岡51B1 4.75 32.14 3.22 16.67 49 31.13 38 35.48              6
4 3507藤井 徹49大阪52B1 4.08 15.07 5.11 21.05 31 30.81 77 29.03              5
5 5146野田彩加17山口49B2 1.28  0.00 0.00  0.00 34 44.29 83 46.88               
6 4034西原明生41香川54B1 4.55 26.60 4.68 28.00 56 32.88 47 20.34              7
(略)

私は番組表から、
会場番号・レース番号・進入固定有無、
各枠の選手登番・選手名・年齢・体重・級別・全国勝率・全国2率・当地勝率・当地2率・
モーターNo・モーター2率・ボートNo・ボート2率・今節成績を収集しました。

2.競走成績

 ボートレースの競走結果が記載されています。
 各開催場、各レースの着順、的中番号、組み合わせ、払戻金、競走除外など。
 更新は毎日です。

ここから取得可能です。
http://www1.mbrace.or.jp/od2/K/dindex.html」
しかし、番組表と同じく1ファイルずつ取得するのは現実的ではないです。

http://www1.mbrace.or.jp/od2/K/[開催年月6桁]/k[開催年月日6桁].lzh
と言う法則があります。
開催年月6桁 :YYYYMM
開催年月日6桁:YYMMDD
を日付ごとにブン回せば取得できます。

例)2020年07年14日の場合
http://www1.mbrace.or.jp/od2/K/202007/k200714.lzh

と言う法則があります。
番組表と同じく圧縮形式はLZHなのでダウンロード後、解凍が必要です。

文字コードはSJISとなっています。
競走成績の内容はこんな感じです。

$ nkf k200714.txt | less
STARTK
23KBGN
唐 津[成績]      7/14      第3回住信SBIネッ  第 1日

                            *** 競走成績 ***

          第3回住信SBIネット銀行賞           

   第 1日          2020/ 7/14                             ボートレース唐 津

               −内容については主催者発行のものと照合して下さい−

   [払戻金]       3連単           3連複           2連単         2連複
           1R  6-1-2    9820    1-2-6     500    6-1    3560    1-6     580
           2R  2-1-5     910    1-2-5     390    2-1     240    1-2     150
           3R  1-3-2     660    1-2-3     210    1-3     250    1-3     150
           4R  1-6-3    3120    1-3-6     860    1-6     950    1-6     910
           5R  2-3-1    4610    1-2-3     810    2-3    1550    2-3    1000
           6R  1-3-4    4200    1-3-4    1330    1-3     800    1-3     410
           7R  2-1-3    1610    1-2-3     400    2-1     570    1-2     230
           8R  1-2-4    3460    1-2-4     510    1-2    1340    1-2     900
           9R  3-1-4    2210    1-3-4     320    3-1     940    1-3     250
          10R  1-3-4    2110    1-3-4    1140    1-3     280    1-3     170
          11R  4-1-2    3790    1-2-4     460    4-1     890    1-4     320
          12R  4-5-3   12350    3-4-5    4290    4-5    1610    4-5    1360



   1R       予  選                   H1800m  雨   風  南   2m  波   2cm
  着 艇 登番  選 手 名  モーター ボート 展示 進入 スタートタイミンク レースタイム まくり差し
-------------------------------------------------------------------------------
  01  6 4034 西 原  明 生 56   47  6.82   5    0.09     1.50.3
  02  1 4171 榎    幸 司 35   41  6.85   1    0.17     1.52.1
  03  2 3305 小 野  信 樹 67   72  6.88   2    0.19     1.52.5
  04  4 3507 藤 井    徹 31   77  6.87   4    0.09     1.54.3
  05  3 4874 池 田  奈津美 49   38  6.80   3    0.26     1.55.6
  06  5 5146 野 田  彩 加 34   83  6.83   6    0.09     1.57.1

        単勝     6         2220  
        複勝     6          320  1          100  
        2連単   6-1       3560  人気     7 
        2連複   1-6        580  人気     3 
        拡連複   1-6        180  人気     3 
                 2-6        310  人気     5 
                 1-2        140  人気     1 
        3連単   6-1-2     9820  人気    19 
        3連複   1-2-6      500  人気     3 
(略)

私は競走成績から、
会場番号・レース番号、
1着艇番・2着艇番・3着艇番・3連単配当金を収集しました。

3.レーサー期別成績

 現役ボートレーサーの情報が記載されている。
 選手の個人情報から、過去の成績データがたっぷり載ってます。
 (モーターボートファン手帳とも言う?)
 更新は半期に1度、年2回です。

ここから取得可能です。
https://www.boatrace.jp/owpc/pc/extra/data/download.html」
半期に1度なので手動でもいいかな?

文字コードはSJISとなっています。
レーサー期別成績の内容はこんな感じです。

$ nkf fan1910.txt | less
2014高 塚  清 一タカツカ セイイチ      静岡B1S22030717216555O 049703290130190970000017015060001321002103810173400130385019300016037501733001801670172700140071022490B1B1B14800480020201201905012019103102000500400100100300100000000000000000040040030010060030000000000000000002003003000002003000000000000000000200400100500100201000000000000000000030040070030010000000000000000000001002002003006000000000000000000000000静 岡
2538高 橋  二 朗タカハシ ジロウ      東京B1S24042617016452AB042801520040090850100020010030001733001702350183400190158022390016018801733001300000214200100000023420B1B1B14800470020201201905012019103103200200100200400100000000000000000000000040050030020030000000000000000001002003006003003010000000000000000100200300300500200000000000000000000000020050030030000000000000000000000004002001003000000000000000000000000千 葉
2787藤 井  定 美フジイ サダミ      群馬B1S30021416417153A 052403260180161040000015018072201219002004000143100210429015340019015801731001700590173600090000021400B1B1B14900490020201201905012019103104001100200300200000000000000000000000020060080010030000000000000000000003006001005002004000000000000000000200100200400500500000000000000000000010020060060020000000000000000000000001003003002000000000000000000000000群 馬
(略)

データレイアウトは
https://www.boatrace.jp/owpc/pc/extra/data/layout.html」
に記載されています。

私はレーサー期別成績から、
とりあえず全データを収集しました。

データの紹介で終わってしまいました。
データ蓄積の説明は次回とさせてください。

関連(連載)

初心者が機械学習をやってみたら(その0)
初心者が機械学習をやってみたら(その4)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away