Topik ini menjelaskan Komponen Normalisasi yang disediakan oleh Machine Learning Designer (sebelumnya dikenal sebagai Machine Learning Studio).
Konfigurasikan komponen
Anda dapat menggunakan salah satu metode berikut untuk mengonfigurasi Komponen Normalisasi.
Metode 1: Konfigurasikan komponen di halaman pipeline
Konfigurasikan parameter komponen di halaman pipeline Machine Learning Designer.
Tab | Parameter | Deskripsi |
Fields Setting | All Selected by Default | Secara default, semua kolom dalam tabel input dipilih. Kolom tertentu mungkin tidak digunakan untuk pelatihan. Kolom-kolom ini tidak mempengaruhi hasil prediksi. |
Reserve Original Columns | Menentukan apakah akan mencadangkan kolom asli. Nama kolom diberi awalan normalized_ setelah normalisasi. Hanya kolom bertipe DOUBLE atau BIGINT yang dapat dicadangkan. | |
Tuning | Cores | Jumlah core. Sistem secara otomatis mengalokasikan core yang digunakan untuk pelatihan berdasarkan volume data input. |
Memory Size per Core | Ukuran memori setiap core. Sistem secara otomatis mengalokasikan memori berdasarkan volume data input. Unit: MB. |
Metode 2: Gunakan perintah PAI
Konfigurasikan parameter komponen dengan menggunakan perintah PAI. Anda dapat menggunakan komponen SQL Script untuk memanggil perintah PAI. Untuk informasi lebih lanjut, lihat SQL Script.
Perintah untuk data padat
PAI -name Normalize -project algo_public -DkeepOriginal="true" -DoutputTableName="test_4" -DinputTablePartitions="pt=20150501" -DinputTableName="bank_data_partition" -DselectedColNames="emp_var_rate,euribor3m"Perintah untuk data jarang
PAI -name Normalize -project projectxlib4 -DkeepOriginal="true" -DoutputTableName="kv_norm_output" -DinputTableName=kv_norm_test -DselectedColNames="f0,f1,f2" -DenableSparse=true -DoutputParaTableName=kv_norm_model -DkvIndices=1,2,8,6 -DitemDelimiter=",";
Parameter | Diperlukan | Deskripsi | Nilai default |
inputTableName | Ya | Nama tabel input. | Tidak ada nilai default |
selectedColNames | Tidak | Kolom yang dipilih dari tabel input untuk pelatihan. Nama kolom harus dipisahkan dengan koma (,). Kolom bertipe INT dan DOUBLE didukung. Jika data input dalam format jarang, kolom bertipe STRING didukung. | Semua kolom |
inputTablePartitions | Tidak | Partisi yang dipilih dari tabel input untuk pelatihan. Format berikut didukung:
Catatan Jika Anda menentukan beberapa partisi, pisahkan mereka dengan koma (,). | Semua partisi |
outputTableName | Ya | Nama tabel output. | Tidak ada nilai default |
outputParaTableName | Tidak | Nama tabel parameter output. | Tidak ada nilai default |
inputParaTableName | Ya | Nama tabel parameter input. | Tidak ada nilai default |
keepOriginal | Tidak | Menentukan apakah akan mencadangkan kolom asli. Nilai valid:
| false |
lifecycle | Tidak | Lifecycle tabel output. Nilai valid: [1,3650]. | Tidak ada nilai default |
coreNum | Tidak | Jumlah core yang digunakan dalam komputasi. Nilainya harus bilangan bulat positif. | Ditentukan oleh sistem |
memSizePerCore | Tidak | Ukuran memori setiap core. Unit: MB. Nilai valid: (1,65536). | Ditentukan oleh sistem |
enableSparse | Tidak | Menentukan apakah mendukung data input dalam format jarang. Nilai valid:
| false |
itemDelimiter | Tidak | Pemisah yang digunakan antara pasangan key-value. | , |
kvDelimiter | Tidak | Pemisah yang digunakan antara key dan value. | : |
kvIndices | Tidak | Indeks fitur yang memerlukan normalisasi dalam tabel yang berisi data dalam format key-value. | Tidak ada nilai default |
Contoh
Hasilkan Data Input
drop table if exists normalize_test_input; create table normalize_test_input( col_string string, col_bigint bigint, col_double double, col_boolean boolean, col_datetime datetime); insert overwrite table normalize_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 normalize_test_input_output; drop table if exists normalize_test_input_model_output; PAI -name Normalize -project algo_public -DoutputParaTableName="normalize_test_input_model_output" -Dlifecycle="28" -DoutputTableName="normalize_test_input_output" -DinputTableName="normalize_test_input" -DselectedColNames="col_double,col_bigint" -DkeepOriginal="true"; drop table if exists normalize_test_input_output_using_model; drop table if exists normalize_test_input_output_using_model_model_output; PAI -name Normalize -project algo_public -DoutputParaTableName="normalize_test_input_output_using_model_model_output" -DinputParaTableName="normalize_test_input_model_output" -Dlifecycle="28" -DoutputTableName="normalize_test_input_output_using_model" -DinputTableName="normalize_test_input";Input
normalize_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
Output
normalize_test_input_output
col_string
col_bigint
col_double
col_boolean
col_datetime
normalized_col_bigint
normalized_col_double
01
10
10.1
true
2016-07-01 10:00:00
0.0
0.0
NULL
11
10.2
false
2016-07-02 10:00:00
0.25
0.2499999999999989
02
NULL
10.3
true
2016-07-03 10:00:00
NULL
0.5000000000000022
03
12
NULL
false
2016-07-04 10:00:00
0.5
NULL
04
13
10.4
NULL
2016-07-05 10:00:00
0.75
0.7500000000000011
05
14
10.5
true
NULL
1.0
1.0
normalize_test_input_model_output
fitur
json
col_bigint
{"name": "normalisasi", "type":"bigint", "paras":{"min":10, "max": 14}}
col_double
{"name": "normalisasi", "type":"double", "paras":{"min":10.1, "max": 10.5}}
normalize_test_input_output_using_model
col_string
col_bigint
col_double
col_boolean
col_datetime
01
0.0
0.0
true
2016-07-01 10:00:00
NULL
0.25
0.2499999999999989
false
2016-07-02 10:00:00
02
NULL
0.5000000000000022
true
2016-07-03 10:00:00
03
0.5
NULL
false
2016-07-04 10:00:00
04
0.75
0.7500000000000011
NULL
2016-07-05 10:00:00
05
1.0
1.0
true
NULL
normalize_test_input_output_using_model_model_output
fitur
json
col_bigint
{"name": "normalize", "type":"bigint", "paras":{"min":10, "max": 14}}
col_double
{"name": "normalize", "type":"double", "paras":{"min":10.1, "max": 10.5}}