Fitur numerik kontinu yang memiliki banyak nilai unik atau pencilan ekstrem dapat menurunkan akurasi model, terutama dalam tugas klasifikasi. Diskretisasi Fitur mengubah kolom numerik kontinu menjadi bin diskrit, sehingga kompatibel dengan algoritma yang memerlukan input kategorikal dan mengurangi pengaruh pencilan.
Komponen ini hanya berfungsi dengan fitur padat bertipe data numerik. Fitur sparse secara otomatis difilter.
Metode diskretisasi yang didukung
Metode tidak terawasi
Metode ini mempartisi nilai berdasarkan distribusi data tanpa menggunakan informasi label.
| Metode | Cara kerja | Bawaan |
|---|---|---|
| Diskretisasi lebar sama | Membagi rentang nilai menjadi bin dengan lebar yang sama. Setiap bin mencakup rentang nilai yang identik. | Ya |
| Diskretisasi frekuensi sama | Mendistribusikan nilai sehingga setiap bin berisi jumlah titik data yang sama. Mengurangi pengaruh pencilan dengan menyebarkan nilai secara merata. | Tidak |
Metode terawasi
Metode ini menentukan titik pemisahan optimal berdasarkan informasi label melalui traversal gain entropi. Karena algoritma melakukan traversal penuh terhadap data, diskretisasi terawasi membutuhkan waktu jauh lebih lama dibandingkan metode tidak terawasi.
Kolom label harus bertipe ENUM, STRING, atau BIGINT. Jumlah bin yang dihasilkan oleh metode terawasi tidak dikontrol oleh parameter maxBins.| Metode | Cara kerja |
|---|---|
| Diskretisasi berbasis gain Gini | Menemukan titik pemisahan yang meminimalkan impuritas Gini pada setiap langkah. |
| Diskretisasi berbasis gain entropi | Menemukan titik pemisahan yang memaksimalkan gain informasi pada setiap langkah. |
Pilih metode diskretisasi
| Skenario | Metode yang direkomendasikan |
|---|---|
| Kolom memiliki terlalu banyak nilai unik sehingga sulit dimodelkan secara efektif | Lebar sama atau frekuensi sama |
| Nilai memiliki pencilan ekstrem yang mendistorsi model | Frekuensi sama (menyebarkan nilai secara merata, mengurangi pengaruh pencilan) |
| Anda memiliki data label dan ingin pemisahan mencerminkan batas kelas | Berbasis gain Gini atau berbasis gain entropi |
| Memerlukan metrik Weight of Evidence (WOE) untuk pemodelan skor kredit atau risiko | Gunakan komponen Binning sebagai gantinya |
Konfigurasikan komponen
Metode 1: Konfigurasi di halaman pipeline (direkomendasikan)
Konfigurasikan komponen Diskretisasi Fitur di Machine Learning Designer (sebelumnya Machine Learning Studio) pada halaman pipeline.
Tab Fields Setting
| Parameter | Deskripsi |
|---|---|
| Discrete features | Fitur yang akan didiskretisasi. |
| Label column | (Opsional) Kolom label. Jika ditentukan, histogram x-y yang menunjukkan hubungan antara setiap fitur dan label tersedia di output. |
Parameters Setting tab
| Parameter | Deskripsi |
|---|---|
| Discretization method | Metode yang digunakan. Nilai valid: Equal Width Discretization, Equal Frequency Discretization, Gini Gain-based Discretization, Entropy Gain-based Discretization. Bawaan: Equal Width Discretization. |
| Discretization interval | Jumlah bin. Harus berupa bilangan bulat positif lebih besar dari 1. |
Tuning tab
| Parameter | Deskripsi |
|---|---|
| Cores | Jumlah core untuk komputasi. Harus berupa bilangan bulat positif. |
| Memory size per core | Memori yang dialokasikan untuk setiap core. |
Metode 2: Gunakan perintah PAI
Panggil perintah PAI melalui komponen SQL Script. Untuk informasi selengkapnya, lihat SQL Script.
PAI -name fe_discrete_runner_1 -project algo_public
-DdiscreteMethod=SameFrequecy
-Dlifecycle=28
-DmaxBins=5
-DinputTable=pai_dense_10_1
-DdiscreteCols=nr_employed
-DoutputTable=pai_temp_2262_20382_1
-DmodelTable=pai_temp_2262_20382_2;Parameter
| Parameter | Wajib | Bawaan | Deskripsi |
|---|---|---|---|
inputTable | Ya | — | Nama tabel input. |
inputTablePartitions | Tidak | Semua partisi | Partisi yang digunakan untuk pelatihan. Format: Partition_name=value. Untuk partisi multi-level: name1=value1/name2=value2. Pisahkan beberapa partisi dengan koma. |
outputTable | Ya | — | Tabel output yang berisi nilai hasil diskretisasi. |
discreteCols | Ya | "" | Fitur yang akan didiskretisasi. Fitur sparse secara otomatis difilter. |
labelCol | Tidak | — | Kolom label. Mengaktifkan histogram x-y di output. |
discreteMethod | Tidak | Isometric Discretization | Metode diskretisasi. Nilai valid: Isometric Discretization (lebar sama), Isofrequecy Discretization (frekuensi sama), Gini-gain-based Discretization, Entropy-gain-based Discretization. |
maxBins | Tidak | 100 | Jumlah bin. Harus berupa bilangan bulat positif lebih besar dari 1. Tidak berlaku untuk metode terawasi. |
lifecycle | Tidak | 7 | Siklus hidup tabel output dalam hari. Harus berupa bilangan bulat positif. |
coreNum | Tidak | Ditentukan oleh sistem | Jumlah core. Digunakan bersama dengan memSizePerCore. Harus berupa bilangan bulat positif. |
memSizePerCore | Tidak | Ditentukan oleh sistem | Ukuran memori per core, dalam MB. Harus berupa bilangan bulat positif. |
Contoh
Contoh ini mendiskretisasi satu kolom numerik menjadi 5 bin menggunakan diskretisasi lebar sama.
Siapkan data input
Jalankan pernyataan SQL berikut untuk membuat tabel input:
CREATE TABLE IF NOT EXISTS pai_dense_10_1 AS
SELECT nr_employed
FROM bank_data
LIMIT 10;Konfigurasikan komponen
Tabel input:
pai_dense_10_1Tab Fields Setting: Atur Discrete features ke
nr_employed.Tab Parameters Setting: Atur Discretization method ke Equal Width Discretization dan Discretization interval ke
5.
Output
Nilai hasil diskretisasi untuk nr_employed adalah:
| nr_employed |
|---|
| 4.0 |
| 3.0 |
| 1.0 |
| 3.0 |
| 2.0 |
| 4.0 |
| 3.0 |
| 3.0 |
| 2.0 |
| 3.0 |