sdv.metrics.relational.SVCParentChildDetection.compute

classmethod SVCParentChildDetection.compute(real_data, synthetic_data, metadata=None, foreign_keys=None)

Compute this metric.

This denormalizes the parent-child relationships from the dataset and then applies a Single Table Detection metric on the resulting tables.

The output of the metric is one minus the average ROC AUC score obtained.

A part from the real and synthetic data, either a foreign_keys list containing the relationships between the tables or a metadata that can be used to create such list must be passed.

Parameters
  • real_data (dict[str, pandas.DataFrame]) – The tables from the real dataset.

  • synthetic_data (dict[str, pandas.DataFrame]) – The tables from the synthetic dataset.

  • metadata (dict) – Multi-table metadata dict. If not passed, foreign keys must be passed.

  • foreign_keys (list[tuple[str, str, str, str]]) – List of foreign key relationships specified as tuples that contain (parent_table, parent_key, child_table, child_key). Ignored if metada is given.

Returns

Average of the scores obtained by the single table metric.

Return type

float