1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【機械学習】MLflowで実験結果を「可視化・比較」する

1
Last updated at Posted at 2026-02-17

この記事の要点(30秒版)

  • 実験管理で本当に困るのは、設定よりも結果の整理・比較
  • MLflow は、パラメータと評価指標を記録して、Web UIで一覧・横並び比較・グラフ化できるツール
  • 最小構成は set_experiment → start_run → log_param / log_metric の3つだけ
  • 設定管理は Hydra に任せて、役割を分けると楽

ある日、過去の実験結果を見返そうとして、手が止まりました。

  • 「このスコア、どの実験の結果だっけ?」
  • 「AUCが一番高かったのって、どの条件だった?」
  • 「似たような実験が多すぎて、違いが分からない」

ノートブックは大量にあり、メモも一応残っている。でも実験結果を横並びで比較できない。

「設定は覚えていなくてもいいから、せめて結果だけでも一覧で見たい」

そう思って使い始めたのが MLflow でした。この記事では次の内容を、実体験ベースでまとめます。

  • 実験結果を手作業で管理することの限界
  • MLflowを使うと何が楽になるのか
  • 最低限押さえておきたい使い方

想定読者: 実験結果をメモやスプレッドシートに転記していて、比較がつらくなってきた人

1. なぜ「実験結果の管理」が難しくなるのか

実験管理というと、設定ファイルをどう管理するか、パラメータをどう再現するかに目が向きがちですが、実際に困るのは結果の整理です。

例えば、次のようなやり方をしていませんか。

  • accuracy / AUC / loss をメモしているだけ
  • CSVやスプレッドシートに転記している
  • ノートブックを開いてセルを探し直す

このやり方だと、実験数が増えるほど追えなくなり、条件の差分を見落とし、「結局どれが良かったの?」が分からなくなります。MLflowは、この「結果の整理・比較」を仕組みで解決するツールです。

2. MLflowとは何をしてくれるツールか

機械学習の実験結果を管理・可視化するためのツールで、主に次のことができます。

  • 実験結果(accuracy, loss など)を自動で記録
  • 実験ごとのパラメータを保存
  • 結果を一覧表示・横並び比較
  • Web UI で直感的に確認

一言で言うと、実験結果をあとから比較できる形で残す仕組みです。

pip install mlflow

基本概念:Experiment と Run

MLflowでは、実験を次の2階層で管理します。

  • Experiment: 実験のまとまり(例: LightGBMの検証)
  • Run: その中の1回の実行

1回モデルを学習・評価するごとに、1つの Run が作られるイメージです。

3. 最小構成の使い方

import mlflow

# 実験名を指定
mlflow.set_experiment("baseline_experiment")

with mlflow.start_run():
    # パラメータを記録
    mlflow.log_param("model", "LightGBM")
    mlflow.log_param("num_leaves", 40)

    # 評価指標を記録
    mlflow.log_metric("auc", 0.82)
    mlflow.log_metric("accuracy", 0.75)

これだけで、「どんな条件で」「どんな数値が出たか」が記録されます。

学習の途中経過をグラフにしたいときは、step を付けて指標を複数回記録します。

for epoch, auc in enumerate([0.70, 0.78, 0.82]):
    mlflow.log_metric("auc", auc, step=epoch)

4. MLflow UIで結果を確認する

記録を実行したのと同じフォルダで、次のコマンドを実行します。

mlflow ui

ブラウザで http://localhost:5000 にアクセスすると、実験結果が一覧表示されます。

起動する場所に注意: MLflow 3.17.2 で確認したところ、記録したフォルダに mlflow.db と mlruns/ が作られました。別のフォルダで mlflow ui を実行すると、記録が空に見えます。見えないときは、まず実行したフォルダに移動します。

5. MLflowを使ってよかった点

良かった点 具体的には
実験結果を一覧で見られる ノートブックを開き直さなくても、実験名・パラメータ・accuracy / AUC / loss が一覧で確認できる
横並びで比較できる 複数のRunを選んで Compare を押すと、変えたパラメータと結果の変化が一目で分かる
グラフで推移を確認できる step 付きで log_metric していれば、学習の進行やスコアの変化が自動でグラフ化される

特に Compare は、「この改善、効いてたっけ?」がすぐ分かるようになって助かりました。細かい可視化コードを書かなくていいのも、地味ですがかなり助かります。

6. 設定管理は別のツールに任せるのがおすすめ

MLflowは結果の管理・比較に強い一方で、設定ファイルの構造化や実行ごとのディレクトリ管理は得意ではありません。そのため、役割を分けるのがおすすめです。

役割 ツール
設定管理(再現性) Hydra
結果の可視化・比較 MLflow

2つをつなぐ方法は、こちらにまとめています。

7. おわりに

MLflowを使い始めてから、「どの実験が一番良かったか」「何を変えたら改善したのか」を、感覚ではなく画面を見て判断できるようになりました。

実験管理というと難しそうに聞こえますが、まずは結果を記録して並べるだけでも、作業効率は大きく変わります。同じように、実験結果が散らかってきた、比較がつらくなってきたと感じている方の参考になれば嬉しいです。

見返し用チェック(自分用)

  • 1回の学習 = 1 Run、実験のまとまり = Experiment
  • 記録は log_param(条件)と log_metric(結果)
  • 推移をグラフにするなら step を付ける
  • mlflow ui は、記録したフォルダで起動する

参考文献

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?