機械学習でボートレース予想してみた② 技術選定~環境構築 編

機械学習

前回はきっかけと機械学習について聞いたけど今回は?

どんな技術で実現するのかとその環境構築についてです。

難しそう。

なるべくわかりやすく書くよ。

機械学習でボートレース予想実現までの工程

今回は「2.技術選定」「3.環境構築」を中心にまとめてます。

 1.機械学習について調査

 2.技術選定(今回はここ!)
 3.環境構築(今回はここ!)
 4.機械学習用のデータ取得
 5.機械学習でモデル作成
 6.作成したモデルで予測

この後に、舟券投票や機械学習モデルを改善する工程もありますが、このシリーズでは予測までをまとめてます。

必要な要件

ボートレース予想を実現するための技術を選定する上で私は以下の点を重視しました。
それぞれの要件を重視した理由について記載したいと思います。

すぐに使用できること
すぐに試してみたかったので、環境準備が容易であることや、学習コストが少なくなることを重視しました。

機械学習ができること
今回は機械学習でボートレース予想するということなので、一番重要な要件ですね。

LZH形式が解凍できること
学習データとなるボートレースのデータはLZH形式で圧縮されているので、LZH形式の解凍ができる必要があります。

情報が調べやすいこと
学習するうえで絶対に詰まったりハマったりする部分が出るので、情報が調べやすいことを重視したいと思いました。

技術選定

最終的にC#を選定しましたが、技術選定の際に考えたことも書いておきます。

この記事を読んでいただいている人は機械学習でボートレースを予想することに興味がある方だと思いますが、選択するプログラミング言語や環境は作業する人の経験や好みによって違う部分かと思います。別の言語でも同様の事は当然可能ですので、適宜読み替えていただければと思います。

すぐに使用できること

私は業務でC#をよく使用していました。学習コストをかけずにすぐに使用できるので、第一候補としてC#を考えていました。環境構築もVisual Studioのインストールだけで完了する点も魅力でした。

機械学習ができること

機械学習といえばpythonというイメージがあるぐらい有名ですが、調べてみたところC#にも機械学習のライブラリがあることが分かりました。

LZH形式が解凍できること

C#にLZH形式の解凍できるパッケージがあることが分かりましたので、こういったものを使用したらよいことが分かりました。

情報が調べやすいこと

ML.NETのサンプルがあるので、多少は調べやすい状況にはなっていると思います。ただ、Pythonで機械学習をする場合に比べてと利用者も少ないと思うのでインターネット上の情報も少ない印象です。

環境構築

以下の構成で作成することにしました。
C#で作成したコンソールアプリを動かす形を想定しています。

■ノートパソコン(Windows10)
プログラム言語:C#
機械学習:ML.NET
開発環境:Microsoft Visual Studio 2022
データベース:MySQL 8.0.31

今回はお金節約のため、自分のノートパソコンの中で動かしています。
(ずっとノートパソコン起動しっぱなしになるので時間が取れたらサーバ借りたいです。)

Visual Studioについてはインストーラに従ってインストールするだけなので簡単です。

データベースはdockerでmysqlのコンテナを起動して使ってます。
こちらもdockerの知識があれば簡単に作成可能です。
もちろん直接インストールしても問題ありませんが、コンテナのメリットを考えてこのような構成にしました。

dockerでmysqlのコンテナ作成については今回の機械学習とは直接関係ない部分なので、詳細は割愛させてもらいますが、とても便利なので興味がある人は調べてみてください。(プログラミングされている方であれば、ご存じの方も多いかと思いますが。)

まとめ

今回は技術選定と環境構築についてまとめてみました。
機械学習を始めるという方はpythonを選択する人がほとんどだと思いますが、自分の好きな言語から探してみても意外に機械学習できるようになって来ていることに驚きました。当然、そういった場合は情報が少ないケースが多いので、ある程度の下調べは必要ですが、挑戦してみるのは面白いですね。

次回、データ取得編に続きます。

※当ブログに掲載されている情報は、可能な限り正確性を重視していますが、正確性について保証するものではありません。読者の方々は、自己責任において情報を活用してください。

コメント

タイトルとURLをコピーしました