ML.IMPUTER 関数
このドキュメントでは、文字列または数式内の NULL
値を置換できる ML.IMPUTER
関数について説明します。NULL
値は、文字列式の中で最も頻繁に使用する値に置き換えることも、数値式の平均または中央値に置き換えることもできます。
TRANSFORM
句で使用すると、トレーニング中に平均値、中央値、および最も頻繁に使用される値について計算された値が自動的に予測に使用されます。
構文
ML.IMPUTER(expression, strategy) OVER()
引数
ML.IMPUTER
は次の引数を取ります。
expression
: 代入する数値またはSTRING
式。strategy
:NULL
値の置換方法を指定するSTRING
値。有効な値は以下のとおりです。mean
:expression
の平均。この値は数式でのみ使用できます。median
:expression
の中央値。この値は数式でのみ使用できます。most_frequent
:expression
の最頻値。
出力
ML.IMPUTER
は、NULL
値の置換を含む FLOAT64
値(数値式) または STRING
値(文字列式)を返します。
例
例 1
次の例では、数式を代入します。
SELECT f, ML.IMPUTER(f, 'mean') OVER () AS output FROM UNNEST([NULL, -3, -3, -3, 1, 2, 3, 4, 5]) AS f ORDER BY f;
出力は次のようになります。
+------+--------+ | f | output | +------+--------+ | NULL | 0.75 | | -3 | -3.0 | | -3 | -3.0 | | -3 | -3.0 | | 1 | 1.0 | | 2 | 2.0 | | 3 | 3.0 | | 4 | 4.0 | | 5 | 5.0 | +------+--------+
例 2
次の例では、文字列式を代入します。
SELECT f, ML.IMPUTER(f, 'most_frequent') OVER () AS output FROM UNNEST([NULL, NULL, NULL, NULL, 'a', 'a', 'b', 'b', 'c', 'c', 'c']) AS f ORDER BY f;
出力は次のようになります。
+------+--------+ | f | output | +------+--------+ | NULL | c | | NULL | c | | NULL | c | | NULL | c | | a | a | | a | a | | b | b | | b | b | | c | c | | c | c | | c | c | +------+--------+
次のステップ
- 特徴の前処理の詳細については、特徴前処理の概要をご覧ください。
- 各モデルタイプでサポートされている SQL ステートメントと関数については、各モデルのエンドツーエンドのユーザー ジャーニーをご覧ください。