BigQuery ML モデルの評価の概要

このドキュメントでは、BigQuery ML が機械学習(ML)モデルの評価をサポートする仕組みについて説明します。

モデル評価の概要

ML モデルの評価指標は、次の目的で使用できます。

  • モデルとデータの間の適合性の品質を評価する。
  • さまざまなモデルを比較する。
  • モデル選択のコンテキストにおいて、特定のデータセットでの各モデルに期待できる実行精度を予測する。

教師ありの学習モデルと教師なしの学習モデルでは、評価の仕組みが異なります。

  • 教師あり学習モデルでは、モデルの評価が明確に定義されます。評価セット(モデルで分析されていないデータ)は通常、トレーニング セットから除外され、モデルのパフォーマンスの評価に使用されます。新しいデータの予測結果を一般化する際にモデルのパフォーマンスが低下するため、評価にトレーニング セットを使用しないことをおすすめします。この結果を過剰適合といいます。
  • 教師なし学習モデルでは、モデルの評価は教師ありモデルほど定義されておらず、通常はモデルによって異なります。教師なし学習モデルでは評価セットが予約されないため、評価指標は入力データセット全体を使用して計算されます。

各モデルタイプでサポートされている SQL ステートメントと関数については、各モデルのエンドツーエンドのユーザー ジャーニーをご覧ください。

モデル評価サービス

BigQuery ML には、ML モデルの評価指標を計算する次の関数が用意されています。

モデルカテゴリ モデルタイプ モデル評価関数 関数の動作
教師あり学習 線形回帰

ブーストツリー リグレッサー

ランダム フォレスト リグレッサー

DNN リグレッサー

ワイド&ディープ リグレッサー

AutoML Tables リグレッサー
ML.EVALUATE 次の指標を報告します。
  • 平均絶対誤差
  • 平均二乗誤差
  • 平均二乗対数誤差
  • 絶対誤差の中央値
  • r2 スコア
  • 説明分散
ロジスティック回帰

ブーストツリー分類器

ランダム フォレスト分類器

DNN 分類器

ワイド&ディープ分類器

AutoML Tables 分類器
ML.EVALUATE 次の指標を報告します。
  • precision
  • recall
  • accuracy
  • F1 スコア
  • ログ損失
  • roc auc
ML.CONFUSION_MATRIX 混同行列を報告します。
ML.ROC_CURVE 次のような各種しきい値の指標を報告します。
  • recall
  • 偽陽性率
  • 真陽性
  • 偽陽性
  • 真陰性
  • 偽陰性

バイナリクラスの分類モデルにのみ適用されます。
教師なし学習 K 平均法 ML.EVALUATE Davies-Bouldin インデックスと、割り当てられたクラスタのセントロイドとデータポイント間の平均二乗距離を報告します。
行列分解 ML.EVALUATE 明示的なフィードバック ベースのモデルの場合、次の指標を報告します。
  • 平均絶対誤差
  • 平均二乗誤差
  • 平均二乗対数誤差
  • 絶対誤差の中央値
  • r2 スコア
  • 説明分散
暗黙的フィードバック ベースのモデルの場合、次の指標を報告します。
PCA ML.EVALUATE 主成分の分散比の合計を報告します。
オートエンコーダ ML.EVALUATE 次の指標を報告します。
  • 平均絶対誤差
  • 平均二乗誤差
  • 平均二乗対数誤差
時系列 ARIMA_PLUS ML.EVALUATE 次の指標を報告します。
  • 平均絶対誤差
  • 平均二乗誤差
  • 平均絶対誤差率
  • 対称平均絶対誤差率

この関数には入力として新しいデータが必要です。
ML.ARIMA_EVALUATE 異なる (p, d, q, has_drift) タプルによって特徴付けられるすべての ARIMA 候補モデルについて、次の指標を報告します。

季節性、休日効果、急上昇や急降下の外れ値に関するその他の情報も報告します。

この関数は入力として新しいデータを必要としません。

CREATE MODEL ステートメントでの自動評価

BigQuery ML は、モデル作成時に自動評価をサポートします。モデルタイプ、データ分割トレーニング オプション、ハイパーパラメータ チューニングを使用しているかどうかに応じて、評価指標は予約済みの評価データセット、予約済みのテスト データセット、または入力全体に基づいて計算されます。

  • K 平均法、PCA、オートエンコーダ、ARIMA_PLUS モデルの場合、BigQuery ML はすべての入力データをトレーニング データとして使用し、入力データセット全体に対して評価指標が計算されます。

  • 線形回帰、ロジスティック回帰、ブーストツリー、ランダム フォレスト、DNN、ワイド&ディープ、行列分解モデルの場合、次の CREATE MODEL オプションで指定されるデータセットに対して評価指標が計算されます。

    ハイパーパラメータ チューニングを使用してこれらのタイプのモデルをトレーニングする場合は、DATA_SPLIT_TEST_FRACTION オプションを使用して、評価指標の計算対象となるデータセットを定義することもできます。詳細については、データ分割をご覧ください。

  • AutoML Tables モデルについては、トレーニングと評価のためのデータ分割が使用される方法をご覧ください。

モデルの作成時に計算された評価指標を取得するには、入力データを指定されていないモデルに対して ML.EVALUATE などの評価関数を使用します。例については、入力データが指定されていない ML.EVALUATE をご覧ください。

新しいデータセットを使用した評価

モデルの作成後に、評価に使用する新しいデータセットを指定できます。新しいデータセットを提供するには、入力データが指定されているモデルで ML.EVALUATE などの評価関数を使用します。例については、カスタムしきい値と入力データを伴う ML.EVALUATE をご覧ください。