ML.ROBUST_SCALER 関数
このドキュメントでは、外れ値に対して堅牢な統計を使用し、数式をスケーリングできる ML.ROBUST_SCALER
関数について説明します。この関数は、中央値を削除し、四分位範囲に従ってデータをスケーリングすることで、スケーリングを実行します。
TRANSFORM
句で使用すると、トレーニング中に計算された中央値と四分位範囲が自動的に予測で使用されます。
構文
ML.ROBUST_SCALER(numerical_expression [, quantile_range] [, with_median] [, with_quantile_range]) OVER()
引数
ML.ROBUST_SCALER
は次の引数を取ります。
numerical_expression
: スケーリングする数値式。quantile_range
: 四分位範囲を指定する 2 つのINT64
要素の配列。最初の要素で範囲の下限を指定します。0
よりも大きい値にしてください。2 番目の要素で範囲の上限を指定します。最初の要素よりも大きく、100
よりも小さい値を指定する必要があります。デフォルト値は[25, 75]
です。with_median
: データが中央に配置されるかどうかを指定するBOOL
値。TRUE
の場合、この関数はスケーリングの前に中央値を削除することでデータを中心化します。デフォルト値はTRUE
です。with_quantile_range
: データを四分位範囲にスケーリングするかどうかを指定するBOOL
値。TRUE
の場合、データがスケーリングされます。デフォルト値はTRUE
です。
出力
ML.ROBUST_SCALER
は、スケーリングされた数値式を表す FLOAT64
値を返します。
例
次の例では、一連の数値式を中心化し、[25, 75]
の範囲にスケーリングしています。
SELECT f, ML.ROBUST_SCALER(f) OVER () AS output FROM UNNEST([NULL, -3, 1, 2, 3, 4, 5]) AS f ORDER BY f;
出力は次のようになります。
+------+---------------------+ | f | output | +------+---------------------+ | NULL | NULL | | -3 | -1.6666666666666667 | | 1 | -0.3333333333333333 | | 2 | 0.0 | | 3 | 0.3333333333333333 | | 4 | 0.6666666666666666 | | 5 | 1.0 | +------+---------------------+
次のステップ
- 特徴の前処理の詳細については、特徴前処理の概要をご覧ください。
- 各モデルタイプでサポートされている SQL ステートメントと関数については、各モデルのエンドツーエンドのユーザー ジャーニーをご覧ください。