手動での特徴の前処理
CREATE MODEL
ステートメントの TRANSFORM
句を手動の前処理関数と組み合わせて使用すると、カスタムデータの前処理を定義できます。これらの手動の前処理関数は、TRANSFORM
句の外部でも使用できます。
データの前処理をモデルのトレーニングから切り離す場合は、TRANSFORM
句を使用してデータ変換のみを行う変換のみのモデルを作成します。
ML.TRANSFORM
関数を使用すると、特徴の前処理の透明性を高めることができます。この関数を使用すると、モデルの TRANSFORM
句から前処理済みのデータを返すことができるため、モデルのトレーニングに使用する実際のトレーニング データと、モデルのサービングに使用する実際の予測データを確認できます。
BigQuery ML での特徴の前処理のサポートについては、特徴前処理の概要をご覧ください。
各モデルタイプでサポートされている SQL ステートメントと関数については、各モデルのエンドツーエンドのユーザー ジャーニーをご覧ください。
前処理関数の種類
手動での前処理関数には、いくつかの種類があります。
- スカラー関数は単一の行で動作します。たとえば、
ML.BUCKETIZE
です。 - テーブル値関数はすべての行に対して動作し、テーブルを出力します。たとえば、
ML.FEATURES_AT_TIME
です。 分析関数はすべての行で動作し、すべての行で収集された統計に基づいて各行の結果を出力します。たとえば、
ML.QUANTILE_BUCKETIZE
です。ML 分析関数では、常に空の
OVER()
句を使用する必要があります。トレーニング中に
TRANSFORM
句内で ML 分析関数を使用すると、予測の入力に同じ統計情報が自動的に適用されます。
以降のセクションでは、利用可能な前処理関数について説明します。
一般的な関数
文字列または数式に対して次の関数を使用して、データをクリーンアップします。
数値関数
データを正則化するには、数式で次の関数を使用します。
ML.BUCKETIZE
ML.MAX_ABS_SCALER
ML.MIN_MAX_SCALER
ML.NORMALIZER
ML.POLYNOMIAL_EXPAND
ML.QUANTILE_BUCKETIZE
ML.ROBUST_SCALER
ML.STANDARD_SCALER
カテゴリ関数
カテゴリデータに対して次の関数を使用します。
テキスト関数
テキスト文字列式で次の関数を使用します。
画像関数
画像データに対して次の関数を使用します。
既知の制限事項
- BigQuery ML は、モデルのエクスポートで自動前処理と手動前処理の両方をサポートします。サポートされるデータ型および関数をご覧ください。BigQuery ML
TRANSFORM
句でトレーニング済みのモデルをエクスポートします。