Função ML.QUANTILE_BUCKETIZE

Neste documento, descrevemos a função ML.QUANTILE_BUCKETIZE, que permite dividir um atributo numérico contínuo em buckets com base em quantis.

Quando usados em uma cláusula TRANSFORM, os mesmos quantis são usados automaticamente na previsão.

Sintaxe

ML.QUANTILE_BUCKETIZE(numerical_expression, num_buckets) OVER()

Argumentos

ML.QUANTILE_BUCKETIZE usa os seguintes argumentos:

  • numerical_expression: a expressão numérica a ser dividida em buckets.
  • num_buckets: um valor INT64 que especifica o número de buckets em que numerical_expression será dividido.

Saída

ML.QUANTILE_BUCKETIZE retorna um valor de STRING que contém o nome do bucket. Os nomes de bucket retornados estão no formato bin_<bucket_index>, com bucket_index começando por 1.

Exemplo

O exemplo a seguir divide uma expressão numérica de cinco elementos em três buckets:

SELECT
  f, ML.QUANTILE_BUCKETIZE(f, 3) OVER() AS bucket
FROM
  UNNEST([1,2,3,4,5]) AS f;

A saída será assim:

+---+--------+
| f | bucket |
+---+--------+
| 3 | bin_2  |
| 5 | bin_3  |
| 2 | bin_2  |
| 1 | bin_1  |
| 4 | bin_3  |
+---+--------+

A seguir