自訂合成方法
要建立自己的合成器,需要實作一個含有三個必要方法的 Python 類別,並設定 YAML 檔案來使用它。
使用範例
請點擊下方按鈕在 Colab 中執行範例:
Loader:
load_benchmark_with_schema:
filepath: benchmark://adult-income
schema: benchmark://adult-income_schema
Synthesizer:
your-custom-method:
method: custom_method
module_path: custom-synthesis.py # Python 檔案名稱
class_name: MySynthesizer_Shuffle # 檔案中的類別名稱
必要實作
您的 Python 類別必須包含:
class YourSynthesizer:
def __init__(self, config: dict, metadata):
"""初始化合成器"""
pass
def fit(self, data: pd.DataFrame):
"""從輸入資料學習"""
pass
def sample(self) -> pd.DataFrame:
"""生成並回傳合成資料"""
pass
範例:Shuffle 合成器
我們的範例 custom-synthesis.py
實作了一個簡單的合成器:
- 儲存:在
fit()
時儲存每個欄位的值 - 打亂:獨立打亂每個欄位以破壞相關性
- 回傳:在
sample()
時回傳打亂後的資料
這種方法保留了每個欄位的分布,同時移除欄位間的關聯性 - 適用於簡單的匿名化或作為基準方法。
ℹ️
Python 檔案應放在與您的 notebook 或 YAML 檔案相同的目錄中。