Fungsi ML.LABEL_ENCODER

Dokumen ini menjelaskan fungsi ML.LABEL_ENCODER, yang dapat Anda gunakan untuk mengenkode ekspresi string ke nilai INT64 dalam [0, <number of categories>].

Kosakata encoding diurutkan sesuai abjad. Nilai dan kategori NULL yang tidak ada dalam kosakata dienkode ke 0.

Saat digunakan dalam klausa TRANSFORM, nilai kosakata yang dihitung selama pelatihan, beserta nilai k teratas dan batas minimum frekuensi yang Anda tentukan, akan otomatis digunakan dalam prediksi.

Sintaks

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

ML.LABEL_ENCODER menggunakan argumen berikut:

  • string_expression: ekspresi STRING yang akan dienkode.
  • top_k: nilai INT64 yang menentukan jumlah kategori yang disertakan dalam kosakata encoding. Fungsi ini memilih kategori top_k yang paling banyak dalam data dan menggunakannya; kategori di bawah batas ini dienkode ke 0. Nilai ini harus kurang dari 1,000,000 untuk menghindari masalah karena dimensi yang tinggi. Nilai defaultnya adalah 32,000.
  • frequency_threshold: nilai INT64 yang membatasi kategori yang disertakan dalam kosakata encoding berdasarkan frekuensi kategori. Fungsi ini menggunakan kategori yang frekuensinya lebih besar dari atau sama dengan frequency_threshold; kategori di bawah batas ini dienkode ke 0. Nilai defaultnya adalah 5.

Output

ML.LABEL_ENCODER menampilkan nilai INT64 yang mewakili ekspresi string yang dienkode.

Contoh

Contoh berikut melakukan encoding label pada sekumpulan ekspresi string. Metode ini membatasi kosakata encoding menjadi dua kategori yang paling sering muncul dalam data dan juga terjadi dua kali atau lebih.

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;

Outputnya terlihat mirip dengan yang berikut ini:

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

Langkah selanjutnya