Penghalusan Anomali Fitur adalah teknik prapemrosesan pembelajaran mesin untuk menangani pencilan (outlier) pada fitur masukan. Teknik ini menghaluskan data anomali ke dalam rentang yang ditentukan sehingga menghasilkan distribusi data yang lebih seragam serta meningkatkan stabilitas dan kinerja prediktif model. Komponen ini mendukung format data sparse maupun dense, sehingga efektif untuk berbagai jenis set data.
Cara kerja
Metode penghalusan berikut tersedia:
-
Z-score smoothing
Jika suatu fitur mengikuti distribusi normal, pencilan biasanya merupakan nilai yang berada di luar rentang -3×alpha hingga 3×alpha, dengan alpha sebagai deviasi standar. Metode ini menghaluskan pencilan tersebut dengan membatasinya ke dalam rentang [-3×alpha,3×alpha].
Sebagai contoh, jika suatu fitur mengikuti distribusi normal dengan rata-rata 0 dan deviasi standar 3, nilai fitur -10 diidentifikasi sebagai pencilan dan dihaluskan menjadi -3×3+0, menghasilkan -9. Demikian pula, nilai 10 dihaluskan menjadi 3×3+0, menghasilkan 9.
-
Percentile smoothing
Menghaluskan titik data yang berada di luar rentang persentil [minPer, maxPer] ke nilai pada persentil minPer dan maxPer.
Sebagai contoh, untuk fitur age dengan nilai dari 0 hingga 200, jika Anda mengatur minPer ke 0 dan maxPer ke 50%, semua nilai fitur di luar rentang 0 hingga 100 dikoreksi menjadi 0 atau 100.
-
Threshold smoothing
Menghaluskan titik data yang berada di luar rentang [minThresh, maxThresh] yang ditentukan dengan membatasi nilai pada batas minThresh dan maxThresh.
Sebagai contoh, untuk fitur age dengan nilai dari 0 hingga 200, jika Anda mengatur minThresh ke 10 dan maxThresh ke 80, semua nilai fitur di luar rentang 10 hingga 80 dikoreksi menjadi 10 atau 80.
-
Boxplot smoothing
Metode ini menetapkan ambang batas penghalusan atas dan bawah berdasarkan kuartil data. Ambang batas dihitung sebagai berikut: minThresh=q1-1.5*(q3-q1) dan maxThresh=q3+1.5*(q3-q1).
Komponen Penghalusan Anomali Fitur hanya menghaluskan nilai anomali dan tidak menyaring atau menghapus catatan apa pun. Oleh karena itu, jumlah baris dan kolom dalam data tetap tidak berubah.
Konfigurasi komponen
Metode 1: Gunakan antarmuka visual
Di Machine Learning Designer, tambahkan komponen Feature Anomaly Smoothing ke pipeline Anda dan konfigurasikan parameternya pada panel sisi kanan.
|
Group |
Parameter |
Description |
|
Field Settings |
Select Feature Columns to Smooth |
Menentukan kolom fitur yang akan dihaluskan. |
|
Label Column |
Jika ditentukan, parameter ini memungkinkan Anda melihat histogram distribusi x-y fitur terhadap variabel target. |
|
|
Parameter Settings |
Smoothing Method |
Metode penghalusan. Nilai yang valid:
|
|
Confidence Range |
Tingkat kepercayaan. Parameter ini diperlukan ketika Z-Score smoothing diatur ke Z-Score smoothing. |
|
|
Lower Threshold |
Nilai default -9999 menunjukkan bahwa tidak ada ambang batas minimum yang ditetapkan. Parameter ini diperlukan ketika threshold smoothing diatur ke threshold smoothing. |
|
|
Upper Threshold |
Nilai default -9999 menunjukkan bahwa tidak ada ambang batas maksimum yang ditetapkan. Parameter ini diperlukan ketika threshold smoothing diatur ke threshold smoothing. |
|
|
Lower Percentile |
Persentil minimum. Parameter ini diperlukan ketika percentile smoothing diatur ke percentile smoothing atau boxplot smoothing. |
|
|
Upper Percentile |
Persentil maksimum. Parameter ini diperlukan ketika percentile smoothing diatur ke percentile smoothing atau boxplot smoothing. |
Metode 2: Gunakan perintah PAI
Anda juga dapat mengonfigurasi komponen Feature Anomaly Smoothing dengan menggunakan perintah PAI di dalam komponen SQL Script. Untuk informasi selengkapnya, lihat SQL Script component.
PAI -name fe_soften_runner -project algo_public
-DminThresh=5000
-Dlifecycle=28
-DsoftenMethod=min-max-thresh
-DsoftenCols=nr_employed
-DmaxThresh=6000
-DinputTable=pai_dense_10_1
-DoutputTable=pai_temp_2262_20381_1;
|
Parameter |
Required |
Default |
Description |
|
inputTable |
Yes |
N/A |
Nama tabel input. |
|
inputTablePartitions |
No |
All partitions of the input table. |
Tentukan partisi dalam tabel input yang akan digunakan untuk pelatihan dalam format Untuk partisi multi-level, formatnya adalah Jika Anda menentukan beberapa partisi, gunakan , sebagai pemisah. |
|
outputTable |
Yes |
N/A |
Tabel output yang menyimpan hasil penghalusan. |
|
labelCol |
No |
None |
Kolom label. Jika Anda menentukan parameter ini, Anda dapat melihat histogram distribusi x-y fitur terhadap variabel target. |
|
categoryCols |
No |
None |
Menentukan kolom yang akan diproses sebagai fitur kategorikal. |
|
softenCols |
Yes |
N/A |
Menentukan kolom fitur yang akan dihaluskan. Jika parameter ini diabaikan untuk fitur sparse, komponen akan menggunakan parameter softenTopN untuk memilih fitur secara otomatis. |
|
softenMethod |
No |
ZScore |
Metode penghalusan. Nilai yang valid:
|
|
softenTopN |
No |
10 |
Jika Anda tidak menentukan parameter softenCols, sistem secara otomatis memilih top N fitur untuk dihaluskan. Nilainya harus berupa bilangan bulat positif. |
|
cl |
No |
10 |
Tingkat kepercayaan. Parameter ini diperlukan ketika ZScore diatur ke ZScore. |
|
minPer |
No |
0.0 |
Persentil minimum. Parameter ini diperlukan ketika min-max-per diatur ke min-max-per atau boxplot. |
|
maxPer |
No |
1.0 |
Persentil maksimum. Parameter ini diperlukan ketika min-max-per diatur ke min-max-per atau boxplot. |
|
minThresh |
No |
-9999 |
Ambang batas minimum. Parameter ini diperlukan ketika min-max-thresh diatur ke min-max-thresh. |
|
maxThresh |
No |
-9999 |
Ambang batas maksimum. Parameter ini diperlukan ketika min-max-thresh diatur ke min-max-thresh. |
|
isSparse |
No |
false |
Menentukan apakah data input menggunakan format key-value sparse. Nilai yang valid:
Secara default, input dianggap sebagai data dense. |
|
itemSpliter |
No |
, |
Pemisah item dalam fitur sparse. |
|
kvSpliter |
No |
: |
Pemisah antara kunci dan nilai dalam setiap item fitur sparse. |
|
lifecycle |
No |
Siklus hidup tabel output dalam satuan hari. Nilainya harus berupa bilangan bulat positif. |
|
|
coreNum |
No |
System-assigned |
Jumlah core. Parameter ini digunakan bersama memSizePerCore. Nilainya harus berupa bilangan bulat dari 1 hingga 9.999. |
|
memSizePerCore |
No |
System-assigned |
Ukuran memori per core, dalam MB. Nilainya harus berupa bilangan bulat dari 2.048 hingga 65.536. |
Contoh
-
Data input
create table if not exists pai_dense_10_1 as select nr_employed from bank_data limit 10;nr_employed
5228.1
5195.8
4991.6
5099.1
5076.2
5228.1
5099.1
5099.1
5076.2
5099.1
-
Konfigurasi parameter
Untuk Select Feature Columns to Smooth, pilih nr_employed. Pada bagian Parameter Settings, atur Smoothing Method ke threshold smoothing, Lower Threshold ke 5000, dan Upper Threshold ke 6000.
-
Hasil
nr_employed
5228.1
5195.8
5000.0
5099.1
5076.2
5228.1
5099.1
5099.1
5076.2
5099.1