sdv-dev/SDV

Synthetic data generation for tabular data

SDV – Synthetic Data Vault

何であるか – 実際のテーブルデータ上で機械学習モデルをトレーニングし、そのデータの合成バージョンを生成できるPythonライブラリ。単一テーブル、関連するマルチテーブルスキーマ、および時系列データをサポート。

主な機能

  • モデルの品揃え – クラシックな統計的コピュラ(例: GaussianCopulaSynthesizer)から、CTGANのようなディープラーニング生成器まで。
  • フルワークフロー – 事前処理、匿名化、制約処理を内蔵しており、生成された行が主キー・外部キー、およびユーザー定義のビジネスルールを尊重する。
  • 評価ツール – 実データと合成データの列単位比較を計算・可視化する関数。
  • モジュール型エコシステム – データ発見、変換、プライバシー測定ユーティリティも提供する、より大きなSDVスイートの一部。

一般的なワークフロー

  1. データの読み込み(パッケージにはデモデータセットが同梱)。
    from sdv.datasets.demo import download_demo
    real, meta = download_demo(modality='single_table', dataset_name='fake_hotel_guests')
    
  2. 合成器の作成とトレーニング。
    from sdv.single_table import GaussianCopulaSynthesizer
    synth = GaussianCopulaSynthesizer(meta)
    synth.fit(real)
    
  3. 合成行の生成。
    synthetic = synth.sample(500)
    
  4. 品質の評価。
    from sdv.evaluation import evaluate_quality, get_column_plot
    report = evaluate_quality(real, synthetic, meta)
    fig = get_column_plot(real, synthetic, column_name='amenities_fee', metadata=meta)
    fig.show()
    

インストール – PyPIで利用可能。ビジネスソースライセンス(Business Source License)の下で提供。

pip install sdv          # または
conda install -c pytorch -c conda-forge sdv

誰が使うか – 敏感情報の暴露を避けつつ現実的なテストデータが必要なデータサイエンティスト、プライバシー工学担当者、製品チーム。また、モデルトレーニング用にデータが不足している場合のデータ拡張にも適している。

リンク – ドキュメントとチュートリアル(Colabノートブック)はREADMEからリンクされており、コミュニティフォーラムは forum.datacebo.com でホストされています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト