Preprocessor YAML(更新中)
Preprocessor 模組的 YAML 設定檔案格式,用於資料前處理。
使用範例
請點擊下方按鈕在 Colab 中執行範例:
使用預設前處理
Preprocessor:
demo:
method: 'default'
使用自訂處理序列
Preprocessor:
custom:
method: 'default'
sequence:
- missing
- outlier
- encoder
- scaler
為特定欄位自訂處理器
Preprocessor:
custom_fields:
method: 'default'
config:
missing:
age: 'missing_mean'
income: 'missing_median'
outlier:
age: 'outlier_zscore'
income: 'outlier_iqr'
encoder:
gender: 'encoder_onehot'
education: 'encoder_label'
scaler:
age: 'scaler_minmax'
income: 'scaler_standard'
主要參數
method (
string
, 必要)- 前處理方法
- 可用值:
'default'
(預設處理序列)
sequence (
list
, 選用)- 自訂處理序列
- 可用值:
'missing'
,'outlier'
,'encoder'
,'scaler'
,'discretizing'
- 預設值:
['missing', 'outlier', 'encoder', 'scaler']
config (
dict
, 選用)- 自訂各欄位的處理器設定
- 結構:
{處理類型: {欄位名稱: 處理方式}}
處理序列
Preprocessor 支援以下處理步驟,依序執行:
- missing:缺失值處理
- outlier:離群值處理
- encoder:類別變數編碼
- scaler:數值正規化
- discretizing:離散化(與 encoder 互斥)
預設處理方式
處理類型 | 數值型 | 類別型 | 日期時間型 |
---|---|---|---|
missing | missing_mean | missing_drop | missing_drop |
outlier | outlier_iqr | 無 | outlier_iqr |
encoder | 無 | encoder_uniform | 無 |
scaler | scaler_standard | 無 | scaler_standard |
discretizing | discretizing_kbins | encoder_label | discretizing_kbins |
功能文件
詳細的處理器說明請參閱各功能頁面:
精度保持
Preprocessor 會自動保持數值欄位的精度:
- 精度保留:轉換過程中不會改變 schema 中的
type_attr.precision
- 自動應用:轉換完成後自動根據精度進行四捨五入
- 記憶機制:精度資訊會記錄在 Status 中,供後續模組使用
執行說明
- 實驗名稱(第二層)可自由命名,建議使用描述性名稱
- 可定義多個實驗,系統會依序執行
- 前處理的結果會傳遞給 Synthesizer 模組
注意事項
discretizing
和encoder
不能同時使用discretizing
必須是序列中的最後一步- 某些離群值處理器(如
outlier_isolationforest
、outlier_lof
)是全域轉換,會套用到所有欄位 - 自訂 config 會覆蓋預設設定
- 精度會在前處理轉換後自動應用,確保數值一致性
- 詳細的處理器參數設定請參閱各功能頁面和 Processor API 文檔