Overview of Single Table Metrics
mainSingle Table Metrics in sdmetrics operate on individual tables by comparing two pandas.DataFrame objects: the real_data and the synthetic_data. These metrics are categorized into several functional groups:
- BayesianNetwork Metrics: Evaluates the likelihood of synthetic data being sampled from a distribution fitted to real data (e.g.,
BNLikelihood,BNLogLikelihood). - GaussianMixture Metrics: Uses Gaussian Mixture Models to evaluate likelihood (e.g.,
GMLogLikelihood). - Detection Metrics: Uses ML classifiers to distinguish between real and synthetic data; the score is the complement of the classifier's cross-validated score (e.g.,
LogisticDetection,SVCDetection). - ML Efficacy Metrics: Evaluates how well an ML model trained on synthetic data performs on real data. Warning: These require datasets representing ML problems and scores depend on problem difficulty (e.g.,
LinearRegression,MulticlassMLPClassifier, and the genericMLEfficacy). - Privacy Metrics: Evaluates the accuracy of an adversarial attacker model attempting to identify real data from synthetic data (e.g.,
CategoricalCAP,NumericalMLP,CategoricalEnsemble). - MultiSingleColumn Metrics: Applies a single-column metric to all compatible columns and returns the average (e.g.,
CSTestfor categorical,KSComplementfor numerical). - MultiColumnPairs Metrics: Applies a column-pair metric to all compatible pairs and returns the average (e.g.,
ContinuousKLDivergence,DiscreteKLDivergence).