Danger

You are looking at the documentation for an older version of the SDV! We are no longer supporting or maintaining this version of the software

Click here to go to the new docs pages.

sdv.metrics.relational.LogisticParentChildDetection.compute

classmethod LogisticParentChildDetection.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