マルチミミック・ノード

Synthetic Data Generator では、Multi-mimic ノードを使用して、合成データがどのようにサンプルシードデータに似ているかの要件を設定することができます。 このノードは高度なアルゴリズムを使って、入力データの基本的なパターンと関係を学習し、現実的でありながら人工的な記録を作成する。

説明
Multi-mimcノードは、サンプルシードデータの各フィールドの統計分布を分析し、各フィールドに割り当てられた最も適合する分布を持つMulti-genノードを生成(または更新)します。 Multi-genノードでは、解析に基づいて自動的に合成データを生成することができる。
Synthetic Data Generator フローの Multi-mimic ノードを使用して,合成データが元のデータセットの統計的特性や分布にどの程度近いかを設定する.
ノードの使用
Multi-Importノードの後にMulti-mimicノードを使用する。 Multi-mimicノードが実行されると、Multi-genノードがまだ存在しない場合はMulti-genノードが作成される。
マルチインポート・ノードを使用して複数のソースからデータをインポートした場合は、マルチミミック・ノードを使用します。 詳細については、 参照整合性とマルチテーブルノードを参照してください。
Multi-mimicノードを使用する場合、インポートするテーブルはすべて2行以上である必要があります。
必須または任意
マルチミミック・ノードは必須。 マルチインポート・ノードをマルチミミック・ノードに接続する必要があります。

Multi-mimcノードを使ったスクリプティング

Python のようなスクリプト言語を使って、ノードのプロパティをプログラム的に設定することができます。

マルチmimcノードのプロパティ

以下のプロパティはMulti-mimcノード固有のものです。 共通のノード・プロパティについては、 フローとノードのプロパティを参照してください。

表 1. スクリプティング用のノードプロパティ
プロパティー名 データ・タイプ 許可された値 プロパティーの説明
method 列挙型 clustering
full
階層検索アルゴリズムに使用するメソッド。
algorithm 列挙型 gaussian
copula
インナーテーブルのモデリングに使用するアルゴリズム。
missing_value_imputation ブール値 true
false
欠損値を置換するためにインピュテーションを使用するかどうかのフラグ。
init_n_components 列挙型 quick
hpo
customized
各テーブルのコンポーネント数の推定に使用する方法。
init_n_clusters 列挙型 hpo
customized
methodclustering が設定されている場合、このプロパティは、各テーブルのクラスタ数の推定方法を設定します
hpo_max_record 整数 範囲 100value10000 hpo メソッドを使用する際に考慮するレコードの最大数。
copula_n_quantiles 整数 範囲 5value10000 コピュラ変換に使用する分位の数。
copula_noise_scale 浮動小数点 範囲 0.0value1.0 数値的安定性を確保するためにコピュラ変換に加えられるノイズのスケール。
random_state 整数 特定の範囲はない。 デフォルト:929111600 モデルは、いくつかのパラメーターを初期化するためにランダムシードを必要とする。 ここでランダムシードを指定することができる。 指定しない場合は、現在のタイムスタンプが代わりに使われる。 しかし、タイムスタンプを使用するということは、モデルが実行されるたびに異なるシードを使用するということである。 シードを固定することで、安定した結果が得られる。
n_components 構造化された資産 物件詳細を見る ガウス混合モデル(GMM)の混合成分数を設定します。 テーブルごとに番号を設定できる。 hpo を有効にすると、このパラメータの値は使用されない。 詳細は、 n_components プロパティのデータ構造を参照のこと。
n_clusters 構造化された資産 物件詳細を見る methodclustering が設定されている場合、このプロパティは各テーブルに形成するクラスターの数を設定する。 このプロパティは辞書(または配列)のリストであり、各辞書には以下が含まれる: table_display_name number_of_clusters_to_form, custom_sample, table_name。詳細については、 n_clusters プロパティのデータ構造を参照のこと。

n_components プロパティのデータ構造

テーブル表示名
テーブルの表示名
混合物の成分数
各テーブルに形成するクラスタの数を設定する整数
値はこの範囲内でなければならない: 1value15
カスタムコンポーネント
true に設定すると、指定した数の混合成分が使用される。
false に設定すると、混合物の成分数を決定するために比率が使用される。 これは以下の公式を使用する: value for ratio × number of rows in the fitting phase.
table_name
ドット記法のテーブル名
フォーマットの例については、 マルチインポート・ノードを参照のこと

n_clusters プロパティのデータ構造

テーブル表示名
テーブルの表示名
クラスタ数
各テーブルに形成するクラスタの数を設定する整数
値はこの範囲内でなければならない: 1value15
カスタムクラスタ
true に設定すると、指定した数のクラスタが使用される。
false に設定すると、使用するクラスタ数を決定するために比率が使用される。 これは以下の公式を使用する: value for ratio × number of rows in the fitting phase.
table_name
ドット記法のテーブル名
フォーマットの例については、 マルチインポート・ノードを参照のこと

例スクリプト

次のスクリプトはマルチミミック・ノードを作成し、そのプロパティを設定します。

stream = sdg.script.stream()
multimimic = stream.createAt("mimicplus", "Multi-mimic", 195, 187)
multimimic.setPropertyValue("method", "Clustering")
multimimic.setPropertyValue("algorithm", "Gaussian")
multimimic.setPropertyValue("missing_value_imputation", "true")
multimimic.setPropertyValue("init_n_components", "quick")
multimimic.setPropertyValue("init_n_clusters", "customized")
multimimic.setPropertyValue("hpo_max_record", 1000)
multimimic.setPropertyValue("hpo_max_record", 1000)
multimimic.setPropertyValue("random_state", 82911159)

# set when init_n_components is set as customized
multimimic.setPropertyValue("n_components", [['PERF.PRODUCTS', 3 , 'true', '40039389-1b77-47d5-86d1-b37a5e6bf52e.PERF.PRODUCTS'], ['PERF.CATEGORIES', 2 , 'true', '40039389-1b77-47d5-86d1-b37a5e6bf52e.PERF.CATEGORIES']])
# set when init_n_clustes is set as customized
multimimic.setPropertyValue("n_clusters", [['PERF.PRODUCTS', 2 , 'true', '40039389-1b77-47d5-86d1-b37a5e6bf52e.PERF.PRODUCTS'], ['PERF.CATEGORIES', 3 , 'true', '40039389-1b77-47d5-86d1-b37a5e6bf52e.PERF.CATEGORIES']])
stream.link(connections, multimimic)
mimicnode.run([])