La funzione ML.LABEL_ENCODER

Questo documento descrive la funzione ML.LABEL_ENCODER, che puoi utilizzare per codificare un'espressione stringa in un valore INT64 in [0, <number of categories>].

Il vocabolario della codifica è in ordine alfabetico. I valori e le categorie di NULL non presenti nel vocabolario vengono codificati in 0.

Se utilizzati nella clausola TRANSFORM, i valori del vocabolario calcolati durante l'addestramento, insieme ai valori del k massimo e della soglia di frequenza specificati, vengono utilizzati automaticamente nella previsione.

Sintassi

ML.LABEL_ENCODER(string_expression [, top_k] [, frequency_threshold]) OVER()

ML.LABEL_ENCODER accetta i seguenti argomenti:

  • string_expression: l'espressione STRING da codificare.
  • top_k: un valore INT64 che specifica il numero di categorie incluse nel vocabolario di codifica. La funzione seleziona le top_k categorie più frequenti nei dati e le utilizza; le categorie al di sotto di questa soglia sono codificate come 0. Questo valore deve essere inferiore a 1,000,000 per evitare problemi dovuti all'elevata dimensionalità. Il valore predefinito è 32,000.
  • frequency_threshold: un valore INT64 che limita le categorie incluse nel vocabolario di codifica in base alla frequenza della categoria. La funzione utilizza categorie la cui frequenza è maggiore o uguale a frequency_threshold; le categorie al di sotto di questa soglia sono codificate in 0. Il valore predefinito è 5.

Output

ML.LABEL_ENCODER restituisce un valore INT64 che rappresenta l'espressione di stringa codificata.

Esempio

L'esempio seguente esegue la codifica delle etichette su un insieme di espressioni di tipo stringa. Limita il vocabolario di codifica alle due categorie che ricorrono più spesso nei dati e che ricorrono anche due o più volte.

SELECT f, ML.LABEL_ENCODER(f, 2, 2) OVER () AS output
FROM UNNEST([NULL, 'a', 'b', 'b', 'c', 'c', 'c', 'd', 'd']) AS f
ORDER BY f;

L'output è simile al seguente:

+------+--------+
|  f   | output |
+------+--------+
| NULL |      0 |
| a    |      0 |
| b    |      1 |
| b    |      1 |
| c    |      2 |
| c    |      2 |
| c    |      2 |
| d    |      0 |
| d    |      0 |
+------+--------+

Passaggi successivi