全部产品
Search
文档中心

Platform For AI:One Hot Encoding

更新时间:Jul 02, 2025

One hot encoding mengonversi fitur dengan m nilai yang mungkin menjadi m fitur biner, masing-masing saling eksklusif. Hanya satu fitur yang aktif pada waktu tertentu, menghasilkan dataset yang jarang setelah pengkodean. Outputnya adalah struktur kunci-nilai yang jarang.

Ikhtisar

Komponen One Hot Encoding menyediakan fitur pelatihan dan prediksi:

  • Pelatihan:

    • Node input: Node input kiri (Input Table Name) digunakan untuk data pelatihan. Selama pelatihan, node input kanan tidak diperlukan.

      image

    • Node output: Komponen ini menyediakan dua node output. Node kiri adalah tabel hasil pengkodean, dan node kanan adalah tabel model yang digunakan untuk mengkodekan data baru dengan tipe yang sama.

  • Prediksi:

    Node input kanan (Input Model Table) digunakan untuk input model. Anda dapat menggunakan model one hot yang ada untuk mengkodekan data baru.

Konfigurasikan komponen

Anda dapat menggunakan salah satu metode berikut untuk mengonfigurasi komponen One Hot Encoding.

Metode 1: Konfigurasikan komponen di halaman pipeline

Konfigurasikan parameter berikut di halaman pipeline.

Tab

Parameter

Deskripsi

Fields Setting

Select Binary Column

Wajib. Bidang-bidang yang memerlukan binarisasi.

Other Reserved Features

Fitur-fitur yang dicadangkan dan diekspor dalam format kunci-nilai. Bidang yang dipilih diekspor sebagai fitur dalam format kunci-nilai. Bidang tersebut harus bertipe DOUBLE. Mereka tidak tunduk pada one-hot encoding dan dikodekan mulai dari 0.

Appended Columns

Opsional. Kolom-kolom yang ditambahkan ke tabel output.

Parameters Setting

Lifecycle

Siklus hidup tabel output. Nilai default: 7.

Output table type

Tipe tabel output. Nilai valid: KV dan Table. Jika jumlah fitur yang memerlukan diskretisasi besar, kami sarankan Anda menetapkan parameter ini ke KV. Jika Anda menetapkan parameter ini ke Table, tabel output dapat berisi maksimal 1.024 kolom.

Cores

Jumlah core.

Memory Size per Node

Ukuran memori setiap core. Unit: MB.

Delete Encoding of Last Enumeration

Jika Anda menetapkan ke true, independensi linear data yang dikodekan dijamin.

Ignore Empty Elements

Jika Anda menetapkan ke true, elemen kosong tidak dikodekan.

Metode 2: Gunakan perintah PAI

Konfigurasikan parameter komponen menggunakan perintah PAI. Anda dapat menggunakan komponen SQL Script untuk memanggil perintah PAI. Untuk informasi lebih lanjut, lihat SQL Script.

PAI -name one_hot
    -project algo_public
    -DinputTable=one_hot_test
    -DbinaryCols=f0,f1,f2
    -DmodelTable=one_hot_model
    -DoutputTable=one_hot_output
    -Dlifecycle=28;

Parameter

Wajib

Deskripsi

Nilai default

inputTable

Ya

Nama tabel input.

Tidak ada

inputTablePartitions

Tidak

Partisi-partisi yang dipilih dari tabel input untuk pelatihan.

Semua partisi tabel input

binaryCols

Ya

Bidang-bidang yang memerlukan one-hot encoding. Bidang-bidang ini harus merupakan fitur enumerasi, dan tipe datanya tidak dibatasi.

Tidak ada

reserveCols

Tidak

Bidang-bidang yang dipilih yang diekspor sebagai fitur dalam format kunci-nilai. Bidang tersebut harus bertipe DOUBLE. Mereka tidak tunduk pada one-hot encoding dan dikodekan mulai dari 0.

String kosong

appendCols

Tidak

Bidang-bidang yang dipilih yang diekspor ke tabel output sama seperti di tabel input.

Tidak ada

outputTable

Ya

Tabel output yang dihasilkan setelah one-hot encoding. Hasil pengkodean disimpan dalam format kunci-nilai.

Tidak ada

inputModelTable

Tidak

Tabel model yang digunakan untuk pengkodean.

Catatan

Salah satu dari inputModelTable dan outputModelTable harus berupa string non-kosong. Saat inputModelTable tidak kosong, tabel yang sesuai harus berupa tabel model non-kosong.

String kosong

outputModelTable

Tidak

Tabel model output.

Catatan

Salah satu dari inputModelTable dan outputModelTable harus berupa string non-kosong.

String kosong

lifecycle

Tidak

Siklus hidup tabel output.

7

dropLast

Ya

Menentukan apakah akan menghapus hasil pengkodean enumerator terakhir. Jika parameter ini diatur ke true, independensi linear data yang dikodekan dijamin.

false

outputTableType

Ya

Tipe tabel output. Nilai valid: kv (tabel jarang) dan table (tabel padat). Jika jumlah fitur yang memerlukan diskretisasi besar, kami sarankan Anda menetapkan parameter ini ke kv. Jika Anda menetapkan parameter ini ke table, tabel output dapat berisi maksimal 1.024 kolom. Jika jumlah kolom yang diekspor melebihi nilai tersebut, kesalahan akan dilaporkan.

kv

ignoreNull

Ya

Menentukan apakah mengabaikan elemen kosong dalam data yang memerlukan pengkodean. Jika parameter ini diatur ke true, elemen kosong tidak dikodekan.

false

coreNum

Tidak

Jumlah core.

Ditentukan oleh sistem

memSizePerCore

Tidak

Ukuran memori setiap core. Unit: MB. Nilai valid: [2048,64 × 1024].

Ditentukan oleh sistem

Catatan
  • Bidang kolom pengkodean dapat mendukung hingga puluhan juta nilai diskrit.

  • Saat menggunakan model yang telah dilatih untuk pengkodean selanjutnya, parameter dropLast, ignoreNull, dan reserveCols tetap dalam model dan tidak dapat diubah. Untuk mengubah parameter ini, Anda harus melatih ulang.

  • Secara default, tabel kv yang dihasilkan oleh One Hot Encoding menggunakan penomoran berbasis nol.

  • Saat mengkodekan data baru menggunakan model, jika data tersebut berisi nilai diskrit yang tidak ada dalam tabel pemetaan model, nilai-nilai tersebut diabaikan dan tidak dikodekan. Untuk mengkodekan nilai-nilai ini, tabel pemetaan model harus dilatih ulang.

Contoh

  1. Data input sampel.

    f0(BIGINT)

    f1(STRING)

    f2(DATETIME)

    f3(DOUBLE)

    f4(BOOLEAN)

    12

    prefix1

    1970-09-15 12:50:22

    0.1

    true

    12

    prefix3

    1971-01-22 03:15:33

    0.4

    false

    NULL

    prefix3

    1970-01-01 08:00:00

    0.2

    NULL

    3

    NULL

    1970-01-01 08:00:00

    0.3

    false

    34

    NULL

    1970-09-15 12:50:22

    0.4

    NULL

    3

    prefix1

    1970-09-15 12:50:22

    0.2

    true

    3

    prefix1

    1970-09-15 12:50:22

    0.3

    false

    3

    prefix3

    1970-01-01 08:00:00

    0.2

    true

    3

    prefix3

    1971-01-22 03:15:33

    0.1

    false

    NULL

    prefix3

    1970-01-01 08:00:00

    0.3

    false

  2. Konfigurasikan parameter One Hot Encoding di komponen skrip SQL sebagai berikut.

    PAI -project algo_public -name one_hot --Default component parameters, no modification needed
      -DinputTable=one_hot
      -DbinaryCols=f0,f2,f4
      -DoutputModelTable=one_hot_model_8
      -DoutputTable=one_hot_in_table_1_output_8
      -DdropLast=false
      -DappendCols=f0,f2,f4
      -DignoreNull=false
      -DoutputTableType=table
      -DreserveCols=f3
      -DcoreNum=4
      -DmemSizePerCore=2048;
  3. Setelah eksekusi berhasil, lihat hasil output.

    • Tabel model output dari One Hot Encoding adalah sebagai berikut.

      col_name

      col_value

      mapping

      _reserve_

      f3

      0

      f0

      12

      1

      f0

      3

      2

      f0

      34

      3

      f0

      null

      4

      f2

      0

      5

      f2

      22222222000

      6

      f2

      33333333000

      7

      f4

      0

      8

      f4

      1

      9

      f4

      null

      10

      Baris teratas dalam tabel pemetaan model adalah baris reserve, dan nama kolomnya tetap sebagai reserve. Baris ini menyimpan informasi reserve. Baris-baris lainnya sesuai dengan informasi pemetaan pengkodean.

    • Tabel hasil pengkodean

      Tabel

      f0

      f2

      f4

      _reserve__f3_0

      f0_12_1

      f0_3_2

      f0_34_3

      f0_null_4

      f2_0_5

      f2_22222222_6

      f2_33333333_7

      f4_0_8

      f4_1_9

      f4_null_10

      12

      1970-09-15 12:50:22

      true

      0.1

      1.0

      0.0

      0.0

      0.0

      0.0

      1.0

      0.0

      0.0

      1.0

      0.0

      12

      1971-01-22 03:15:33

      false

      0.4

      1.0

      0.0

      0.0

      0.0

      0.0

      0.0

      1.0

      1.0

      0.0

      0.0

      NULL

      1970-01-01 08:00:00

      NULL

      0.2

      0.0

      0.0

      0.0

      1.0

      1.0

      0.0

      0.0

      0.0

      0.0

      1.0

      3

      1970-01-01 08:00:00

      false

      0.3

      0.0

      1.0

      0.0

      0.0

      1.0

      0.0

      0.0

      1.0

      0.0

      0.0

      34

      1970-09-15 12:50:22

      NULL

      0.4

      0.0

      0.0

      1.0

      0.0

      0.0

      1.0

      0.0

      0.0

      0.0

      1.0

      3

      1970-09-15 12:50:22

      true

      0.2

      0.0

      1.0

      0.0

      0.0

      0.0

      1.0

      0.0

      0.0

      1.0

      0.0

      3

      1970-09-15 12:50:22

      false

      0.3

      0.0

      1.0

      0.0

      0.0

      0.0

      1.0

      0.0

      1.0

      0.0

      0.0

      3

      1970-01-01 08:00:00

      true

      0.2

      0.0

      1.0

      0.0

      0.0

      1.0

      0.0

      0.0

      0.0

      1.0

      0.0

      3

      1971-01-22 03:15:33

      false

      0.1

      0.0

      1.0

      0.0

      0.0

      0.0

      0.0

      1.0

      1.0

      0.0

      0.0

      NULL

      1970-01-01 08:00:00

      false

      0.3

      0.0

      0.0

      0.0

      1.0

      1.0

      0.0

      0.0

      1.0

      0.0

      0.0

      KV

      f0

      f2

      f4

      kv

      12

      1970-09-15 12:50:22

      true

      0:0.1,1:1,6:1,9:1

      12

      1971-01-22 03:15:33

      false

      0:0.4,1:1,7:1,8:1

      NULL

      1970-01-01 08:00:00

      NULL

      0:0.2,4:1,5:1,10:1

      3

      1970-01-01 08:00:00

      false

      0:0.3,2:1,5:1,8:1

      34

      1970-09-15 12:50:22

      NULL

      0:0.4,3:1,6:1,10:1

      3

      1970-09-15 12:50:22

      true

      0:0.2,2:1,6:1,9:1

      3

      1970-09-15 12:50:22

      false

      0:0.3,2:1,6:1,8:1

      3

      1970-01-01 08:00:00

      true

      0:0.2,2:1,5:1,9:1

      3

      22-01-1971 03:15:33

      false

      0:0.1,2:1,7:1,8:1

      NULL

      1970-01-01 08:00:00

      false

      0:0.3,4:1,5:1,8:1

Pengujian Skalabilitas

Data uji: Jumlah sampel adalah 200 juta, dan jumlah enumerator adalah 100.000. Data uji tercantum dalam tabel berikut.

f0

f1

94

prefix3689

9664

prefix5682

2062

prefix5530

9075

prefix9854

9836

prefix1764

5140

prefix1149

3455

prefix7272

2508

prefix7139

7993

prefix1551

5602

prefix4606

3132

prefix5767

Hasil pengujian tercantum dalam tabel berikut.

Jumlah core

Waktu pelatihan

Waktu prediksi

Rasio percepatan

5

84 detik

181 detik

1/1

10

60 detik

93 detik

1.4/1.95

20

46 detik

56 detik

1.8/3.23

Catatan Penggunaan untuk Konsol

  • Gunakan komponen secara langsung untuk pengkodean. 流程

  • Gunakan komponen untuk melatih model. Kemudian, gunakan model tersebut untuk mengkodekan data.实验