全部产品
Search
文档中心

Platform For AI:Standardisasi

更新时间:Jun 22, 2025

Standardisasi adalah teknik pra-pemrosesan data yang mengonversi fitur ke dimensi seragam. Komponen Standardisasi menyatukan dimensi fitur berbeda dengan menetapkan rata-rata menjadi 0 dan deviasi standar menjadi 1. Teknik ini dapat meningkatkan konvergensi dan performa model, terutama model yang menggunakan algoritma optimasi gradien descent.

Deskripsi Algoritma

  • Anda dapat menstandarkan satu atau lebih kolom dalam tabel dan menyimpan hasilnya ke tabel baru.

  • Rumus berikut digunakan untuk standardisasi: (X - Rata-rata) / (Deviasi Standar).

    • Rata-rata: nilai rata-rata sampel.

    • Deviasi Standar: deviasi standar dari sampel. Deviasi standar digunakan ketika sampel dihitung untuk mendapatkan deviasi total. Untuk membuat nilai setelah standardisasi lebih mendekati rata-rata, Anda perlu sedikit meningkatkan deviasi standar yang dihitung menggunakan rumus standard deviation.

    • Rumus untuk menghitung deviasi standar sampel adalah expression.

      x mewakili rata-rata sampel X1, X2, ..., dan Xn.

Konfigurasikan komponen

Metode 1: Konfigurasikan komponen pada halaman pipeline

Tambahkan komponen Standardization pada halaman pipeline Machine Learning Designer dan konfigurasikan parameter komponen yang dijelaskan dalam tabel berikut di sisi kanan halaman.

Tab

Parameter

Deskripsi

Pengaturan Bidang

Semua Dipilih Secara Default

Pilih semua secara default. Kolom tambahan tidak mempengaruhi hasil prediksi.

Cadangkan Kolom Asli

Kolom yang diproses diberi awalan "stdized_". Mendukung tipe DOUBLE dan BIGINT.

Matriks Jarang Masukan

Menentukan apakah mendukung data masukan dalam format jarang. Jika Anda mengaktifkan fitur ini, konfigurasikan parameter berikut:

  • Pemisah Pasangan KV

  • Pemisah KV

  • Indeks KV

Pengaturan

Inti

Jumlah core. Sistem secara otomatis mengalokasikan core yang digunakan untuk pelatihan berdasarkan volume data masukan.

Ukuran Memori per Core

Ukuran memori setiap core. Sistem secara otomatis mengalokasikan memori berdasarkan volume data masukan. Satuan: MB.

Metode 2: Gunakan perintah PAI

Konfigurasikan parameter komponen Standardization menggunakan perintah PAI. Anda dapat menggunakan komponen SQL Script untuk memanggil perintah PAI. Untuk informasi lebih lanjut, lihat Skenario 4: Jalankan perintah PAI dalam komponen skrip SQL.

  • Perintah untuk data padat

    PAI -name Standardize
        -project algo_public 
        -DkeepOriginal="false"    
        -DoutputTableName="test_5"
        -DinputTablePartitions="pt=20150501"  
        -DinputTableName="bank_data_partition" 
        -DselectedColNames="euribor3m,pdays"
  • Perintah untuk data jarang

    PAI -name Standardize    
        -project projectxlib4
        -DkeepOriginal="true"
        -DoutputTableName="kv_standard_output"
        -DinputTableName=kv_standard_test
        -DselectedColNames="f0,f1,f2"
        -DenableSparse=true
        -DoutputParaTableName=kv_standard_model    
        -DkvIndices=1,2,8,6
        -DitemDelimiter=",";

Parameter

Diperlukan

Nilai Default

Deskripsi

inputTableName

Ya

Tidak ada

Nama tabel masukan.

selectedColNames

Tidak

Semua kolom

Kolom yang dipilih dari tabel masukan untuk pelatihan. Nama kolom harus dipisahkan dengan koma (,). Kolom tipe INT dan DOUBLE didukung. Jika data masukan dalam format jarang, kolom tipe STRING didukung.

inputTablePartitions

Tidak

Semua partisi

Partisi yang dipilih dari tabel masukan untuk pelatihan. Format berikut didukung:

  • Nama_Partisi=nilai

  • nama1=nilai1/nama2=nilai2: partisi multi-level

null

Jika Anda menentukan beberapa partisi, pisahkan mereka dengan koma (,).

outputTableName

Ya

Tidak ada

Nama tabel keluaran.

outputParaTableName

Ya

Tidak ada

Nama tabel parameter keluaran.

inputParaTableName

Tidak

Tidak ada

Nama tabel parameter masukan.

keepOriginal

Tidak

false

Menentukan apakah akan mencadangkan kolom asli. Nilai valid:

  • true: mengubah nama kolom yang distandardisasi dengan awalan stdized_ dan mencadangkan kolom asli.

  • false: mencadangkan semua kolom tanpa mengubah namanya.

lifecycle

Tidak

Tidak ada

Lifecycle tabel keluaran.

coreNum

Tidak

Ditugaskan secara otomatis oleh sistem

Jumlah core.

memSizePerCore

Tidak

Ditugaskan secara otomatis oleh sistem

Ukuran memori setiap core.

enableSparse

Tidak

false

Menentukan apakah mendukung data masukan dalam format jarang. Nilai valid:

  • true

  • false

itemDelimiter

Tidak

","

Pemisah yang digunakan antara pasangan key-value.

kvDelimiter

Tidak

":"

Pemisah yang digunakan antara key dan value.

kvIndices

Tidak

Tidak ada

Indeks fitur yang memerlukan standardisasi dalam tabel yang berisi data dalam format key-value.

Contoh

  • Hasilkan data masukan

    drop table if exists standardize_test_input;
    create table standardize_test_input(
        col_string string,
        col_bigint bigint,
        col_double double,
        col_boolean boolean,
        col_datetime datetime);
    insert overwrite table standardize_test_input
    select
        *
    from
    (
        select
            '01' as col_string,
            10 as col_bigint,
            10.1 as col_double,
            True as col_boolean,
            cast('2016-07-01 10:00:00' as datetime) as col_datetime
        union all
            select
                cast(null as string) as col_string,
                11 as col_bigint,
                10.2 as col_double,
                False as col_boolean,
                cast('2016-07-02 10:00:00' as datetime) as col_datetime
        union all
            select
                '02' as col_string,
                cast(null as bigint) as col_bigint,
                10.3 as col_double,
                True as col_boolean,
                cast('2016-07-03 10:00:00' as datetime) as col_datetime
        union all
            select
                '03' as col_string,
                12 as col_bigint,
                cast(null as double) as col_double,
                False as col_boolean,
                cast('2016-07-04 10:00:00' as datetime) as col_datetime
        union all
            select
                '04' as col_string,
                13 as col_bigint,
                10.4 as col_double,
                cast(null as boolean) as col_boolean,
                cast('2016-07-05 10:00:00' as datetime) as col_datetime
        union all
            select
                '05' as col_string,
                14 as col_bigint,
                10.5 as col_double,
                True as col_boolean,
                cast(null as datetime) as col_datetime
    ) tmp;
  • Jalankan perintah PAI

    drop table if exists standardize_test_input_output;
    drop table if exists standardize_test_input_model_output;
    PAI -name Standardize
        -project algo_public
        -DoutputParaTableName="standardize_test_input_model_output"
        -Dlifecycle="28"
        -DoutputTableName="standardize_test_input_output"
        -DinputTableName="standardize_test_input"
        -DselectedColNames="col_double,col_bigint"
        -DkeepOriginal="true";
    drop table if exists standardize_test_input_output_using_model;
    drop table if exists standardize_test_input_output_using_model_model_output;
    PAI -name Standardize
        -project algo_public
        -DoutputParaTableName="standardize_test_input_output_using_model_model_output"
        -DinputParaTableName="standardize_test_input_model_output"
        -Dlifecycle="28"
        -DoutputTableName="standardize_test_input_output_using_model"
        -DinputTableName="standardize_test_input";
  • Masukan

    standardize_test_input

    col_string

    col_bigint

    col_double

    col_boolean

    col_datetime

    01

    10

    10.1

    true

    2016-07-01 10:00:00

    NULL

    11

    10.2

    false

    2016-07-02 10:00:00

    02

    NULL

    10.3

    true

    2016-07-03 10:00:00

    03

    12

    NULL

    false

    2016-07-04 10:00:00

    04

    13

    10.4

    NULL

    2016-07-05 10:00:00

    05

    14

    10.5

    true

    NULL

  • Keluaran

    • standardize_test_input_output

      col_string

      col_bigint

      col_double

      col_boolean

      col_datetime

      stdized_col_bigint

      stdized_col_double

      01

      10

      10.1

      true

      2016-07-01 10:00:00

      -1.2649110640673518

      -1.2649110640683832

      NULL

      11

      10.2

      false

      2016-07-02 10:00:00

      -0.6324555320336759

      -0.6324555320341972

      02

      NULL

      10.3

      true

      2016-07-03 10:00:00

      NULL

      0.0

      03

      12

      NULL

      false

      2016-07-04 10:00:00

      0.0

      NULL

      04

      13

      10.4

      NULL

      2016-07-05 10:00:00

      0.6324555320336759

      0.6324555320341859

      05

      14

      10.5

      true

      NULL

      1.2649110640673518

      1.2649110640683718

    • standardize_test_input_model_output

      fitur

      json

      col_bigint

      {“name”: “standardize”, “type”:”bigint”, “paras”:{“mean”:12, “std”: 1.58113883008419}}

      col_double

      {“name”: “standardize”, “type”:”double”, “paras”:{“mean”:10.3, “std”: 0.1581138830082909}}

    • standardize_test_input_output_using_model

      col_string

      col_bigint

      col_double

      col_boolean

      col_datetime

      01

      -1.2649110640673515

      -1.264911064068383

      true

      2016-07-01 10:00:00

      NULL

      -0.6324555320336758

      -0.6324555320341971

      false

      2016-07-02 10:00:00

      02

      NULL

      0.0

      true

      2016-07-03 10:00:00

      03

      0.0

      NULL

      false

      2016-07-04 10:00:00

      04

      0.6324555320336758

      0.6324555320341858

      NULL

      2016-07-05 10:00:00

      05

      1.2649110640673515

      1.2649110640683716

      true

      NULL

    • standardize_test_input_output_using_model_model_output

      fitur

      json

      col_bigint

      {“name”: “standardize”, “type”:”bigint”, “paras”:{“mean”:12, “std”: 1.58113883008419}}

      col_double

      {“name”: “standardize”, “type”:”double”, “paras”:{“mean”:10.3, “std”: 0.1581138830082909}}