ML.BUCKETIZE 関数

このドキュメントでは、数値式をバケットに分割できる ML.BUCKETIZE 関数について説明します。

構文

ML.BUCKETIZE(numerical_expression, array_split_points [, exclude_boundaries])

引数

ML.BUCKETIZE は次の引数を取ります。

  • numerical_expression: バケット化する数値式。
  • array_split_points: numerical_expression 値を分割する位置を示す数値の配列。数値を昇順で指定します。可能なバケットの範囲は、配列の上限と下限によって決定されます。たとえば、array_split_points 値が [1, 2, 3, 4] の場合、numerical_expression 値をバケット化できるバケットが 5 つになります。
  • exclude_boundaries: array_split_points の上限と下限を使用するかどうかを決定する BOOL 値。TRUE の場合、境界値はバケットの作成に使用されません。たとえば、array_split_points 値が [1, 2, 3, 4] であり、exclude_boundariesTRUE の場合、numerical_expression 値をバケット化できる 3 つの潜在的なバケットがあります。デフォルト値は FALSE です。

出力

ML.BUCKETIZE はバケットの名前を含む STRING 値を返します。返されたバケット名は bin_<bucket_index> 形式で、bucket_index1 から始まります。

次の例では、境界ありと境界なしの数式をバケット化します。

SELECT
  ML.BUCKETIZE(2.5, [1, 2, 3]) AS bucket,
  ML.BUCKETIZE(2.5, [1, 2, 3], TRUE) AS bucket_without_boundaries;

出力は次のようになります。

+---------+----------------------------+
| bucket  | bucket_without_boundaries  |
+---------+----------------------------+
| bin_3   | bin_2                      |
+---------+----------------------------+

次のステップ