Fungsi ML.FEATURE_CROSS

Dokumen ini menjelaskan fungsi ML.FEATURE_CROSS, yang memungkinkan Anda membuat persilangan fitur dari fitur input.

Sintaksis

ML.FEATURE_CROSS(struct_categorical_features [, degree])

Argumen

ML.FEATURE_CROSS menggunakan argumen berikut:

  • struct_categorical_features: nilai STRUCT<STRING> yang menentukan fitur kategori yang akan disilangkan. Jumlah maksimum fitur input adalah 10. Jangan tentukan fitur tanpa nama atau fitur duplikat di struct_numerical_features.
  • degree: nilai INT64 yang menentukan tingkat tertinggi dari semua kombinasi fitur dalam rentang [2, 4]. Nilai defaultnya adalah 2.

Output

ML.FEATURE_CROSS menampilkan nilai STRUCT<STRING> yang mengidentifikasi semua kombinasi fitur kategoris yang disilangkan dengan derajat yang tidak lebih besar dari nilai degree, kecuali untuk item 1 derajat (fitur aslinya) dan item yang disilangkan dengan dirinya sendiri (self-crossing). Nama kolom dalam struct output adalah penyambungan dari nama fitur asli.

Contoh

Contoh berikut ini menyilangkan tiga fitur:

SELECT
  ML.FEATURE_CROSS(STRUCT('a' AS f1, 'b' AS f2, 'c' AS f3)) AS output;

Outputnya terlihat mirip dengan berikut ini:

+---------------------------------------------+
|                   output                    |
+---------------------------------------------+
| {"f1_f2":"a_b","f1_f3":"a_c","f2_f3":"b_c"} |
+---------------------------------------------+

Langkah selanjutnya