synthcity.metrics.eval module
- class Metrics
Bases:
object
- static evaluate(X_gt: Union[synthcity.plugins.core.dataloader.DataLoader, pandas.core.frame.DataFrame], X_syn: Union[synthcity.plugins.core.dataloader.DataLoader, pandas.core.frame.DataFrame], X_train: Optional[Union[synthcity.plugins.core.dataloader.DataLoader, pandas.core.frame.DataFrame]] = None, X_ref_syn: Optional[Union[synthcity.plugins.core.dataloader.DataLoader, pandas.core.frame.DataFrame]] = None, X_augmented: Optional[Union[synthcity.plugins.core.dataloader.DataLoader, pandas.core.frame.DataFrame]] = None, reduction: str = 'mean', n_histogram_bins: int = 10, metrics: Optional[Dict] = None, task_type: str = 'classification', random_state: int = 0, workspace: pathlib.Path = PosixPath('workspace'), use_cache: bool = True) pandas.core.frame.DataFrame
Core evaluation logic for the metrics
- X_gt: Dataloader or DataFrame
Reference real data
- X_syn: Dataloader or DataFrame
Synthetic data
- X_train: Dataloader or DataFrame
The data used to train the synthetic model (used for domias metrics only).
- X_ref_syn: Dataloader or DataFrame
Reference synthetic data (used for domias metrics only).
- X_augmented: Dataloader or DataFrame
Augmented data
- metrics: dict
the dictionary of metrics to evaluate Full dictionary of metrics is: {
‘sanity’: [‘data_mismatch’, ‘common_rows_proportion’, ‘nearest_syn_neighbor_distance’, ‘close_values_probability’, ‘distant_values_probability’], ‘stats’: [‘jensenshannon_dist’, ‘chi_squared_test’, ‘feature_corr’, ‘inv_kl_divergence’, ‘ks_test’, ‘max_mean_discrepancy’, ‘wasserstein_dist’, ‘prdc’, ‘alpha_precision’, ‘survival_km_distance’], ‘performance’: [‘linear_model’, ‘mlp’, ‘xgb’, ‘feat_rank_distance’], ‘detection’: [‘detection_xgb’, ‘detection_mlp’, ‘detection_gmm’, ‘detection_linear’], ‘privacy’: [‘delta-presence’, ‘k-anonymization’, ‘k-map’, ‘distinct l-diversity’, ‘identifiability_score’]
}
- reduction: str
The way to aggregate metrics across folds. Can be: ‘mean’, “min”, or “max”.
- n_histogram_bins: int
The number of bins used in histogram calculation of a given metric. Defaults to 10.
- task_type: str
The type of problem. Relevant for evaluating the downstream models with the correct metrics. Valid tasks are: “classification”, “regression”, “survival_analysis”, “time_series”, “time_series_survival”.
- random_state: int
random seed
- workspace: Path
The folder for caching intermediary results.
- use_cache: bool
If the a metric has been previously run and is cached, it will be reused for the experiments. Defaults to True.
- static list() dict