AlphaPrecisionBetaRecall¶
- class synthyverse.evaluation.fidelity.AlphaPrecisionBetaRecall(discrete_features=[], k=2)¶
Bases:
objectRegistry name:
alphaprecisionbetarecallAlpha-Precision, Beta-Recall score.
Paper: “How faithful is your synthetic data? sample-level metrics for evaluating and auditing generative models” by Alaa et al. (2022).
- Parameters:
discrete_features (list) – List of discrete/categorical feature names. Default: [].
k (int) – Number of nearest neighbors to use in Beta-Recall. Default: 2.
Example
>>> import pandas as pd >>> from synthyverse.evaluation import AlphaPrecisionBetaRecall >>> >>> # Prepare data >>> X_real = pd.DataFrame(...) >>> X_syn = pd.DataFrame(...) >>> discrete_features = ["category_col"] >>> >>> # Create metric >>> metric = AlphaPrecisionBetaRecall( ... discrete_features=discrete_features, ... k=2 ... ) >>> >>> # Evaluate >>> results = metric.evaluate(X_real, X_syn)
- evaluate(X_train, X_syn)¶
Evaluate synthetic data using alpha-precision and beta-recall.
- Parameters:
X_train (
DataFrame) – Real training data as a pandas DataFrame.X_syn (
DataFrame) – Synthetic data as a pandas DataFrame.
- Returns:
- Dictionary with keys:
”alphaprecisionbetarecall.alpha_precision”: Alpha-precision score
”alphaprecisionbetarecall.beta_coverage”: Beta-coverage score
- Return type:
dict