🚧 本アプリは現在開発中です。公開・リリース時期は決まり次第お知らせします。
目次(使い方ガイド

モデルをつくる

モデル学習

学習データからモデルを訓練します。主な設定項目の意味と、学習時間の目安、GPU を使った高速化。

この記事の要点

  • 学習データ・目的変数・トレーナーを選んで実行します。まずは既定の設定で 1 本作るのが近道です。
  • 指標は訓練・検証・テストの 3 つが並びます。見るべきは検証・テストで、訓練とのひらきが大きければ過学習を疑います。
  • GPU で速くなるのはニューラルネット系のトレーナーだけです。GBDT は CPU で実行されます。

学習の画面

左メニューの「学習」を開きます。 画面は上から順に、使う学習データ、「目的変数選択」「トレーナー選択」と進む構成になっています。

モデル学習の画面
モデル学習の画面スクリーンショット準備中
設定を選んで実行すると、学習の経過と評価指標が表示されます。

目的変数を選ぶ

何を予測するかを決めます。 勝つかどうかを当てるのか、着順を当てるのか、 レースの中での並び順を当てるのか ── ここで選んだものによって、 後に表示される指標も変わります。

選び方の考え方は競馬編:競馬予想を「予測問題」として立てるにまとめています。

トレーナー(学習方法)を選ぶ

学習に使うアルゴリズムを選びます。迷ったときは既定のままで構いません。 表形式のデータでは勾配ブースティング木(GBDT)が扱いやすく、 多くの場面で最初の一手になります (代表的なアルゴリズム)。

主な設定には次のようなものがあります。

設定意味最初の目安
訓練比率 / 検証比率学習に使う割合と、設定を選ぶために使う割合。残りがテスト(最終確認)になる既定のまま
クラス不均衡対応「1 着」のように少数派の事象を、学習時にどう扱うか既定のまま。必要になってから触る
チューニング設定ハイパーパラメータを自動で探索する範囲最初は使わない(時間がかかります)
TorchSharp学習デバイスニューラルネット系トレーナーを CPU と GPU (CUDA) のどちらで動かすか (既定の動作は「設定」→「実行デバイス」タブで指定)既定のまま

結果の見方

指標は訓練・検証・テストの 3 つが並びます。訓練は学習に使ったデータでの成績なので、実力より良く出ます。 見るべきは検証とテストで、訓練とのひらきが大きければ過学習を疑ってください。

なお、この分割は必ずしもレースの時系列で切られるとは限りません。実戦に近い検証は、評価期間を自分で指定できるバックテストで行ってください競馬編:時系列を無視した分割)。

学習が終わると、評価指標が表示されます。 目的変数によって出るものが変わりますが、代表的なものは次のとおりです。

指標意味
Accuracy(正解率)当たった割合。ただし「1 着」のように少数派を当てる問題では、 高く出ても意味が薄い
Precision / Recall / F1空振りの少なさ・見逃しの少なさと、そのバランス
AUC順位付けの良さ。0.5 がでたらめ、1.0 が完璧
NDCG並べ替えの良さ。上位に正解を持ってこられているかを見る
RMSE / MAE数値を当てる場合の誤差の大きさ
Confusion Matrix予測と実際の組み合わせを 4 通りに数えた表

指標の読み方は評価指標の読み方で解説しています。

学習にかかる時間の目安

学習時間は、学習データの行数・列数、トレーナーの種類、 ハイパーパラメータの探索を行うかどうかで大きく変わります。 数万行の学習データを既定の設定で学習するなら数分程度、 数十万行や自動探索ありでは数十分以上かかることもあります。まずは小さめの学習データで 1 周し、時間の感覚をつかむのがおすすめです。

GPU で高速化できるもの・できないもの

CUDA 対応の NVIDIA GPU を搭載したパソコンでは、 「設定」→「GPU プラグイン」から必要なプログラムを導入し、 「実行デバイス」で使用を指定します。 GPU 加速はプランを問わず利用できます (GPU プログラムのダウンロードにはログインが必要です)。

速くなること自体よりも、条件を変えて何度も試せるようになることが実際の利点です。 ただし試行を増やすほど検証成績は甘くなるので、最終確認用のデータには手を付けないという原則は忘れないでください。

モデルができたら、次はバックテストで検証します。