Skip to content

Metrics

OversampleQA includes diagnostics beyond the base error rate.

Core metrics

  • calculate_error_rate: fraction of synthetic samples that are closer to hidden majority than minority.
  • confidence_ratio: ratio of distances to minority vs majority.
  • local_density_divergence: compares local density around synthetic vs real data.
  • minority_recall_loss: 1 - recall for the minority class.
  • umap_manifold_distance: Wasserstein distance in UMAP space.
  • check_model_fairness: absolute gap in minority recall across protected groups.
  • noise_sensitivity_diagnostic: error rate across label noise levels.

Examples

Noise sensitivity:

from oversampleqa.metrics import noise_sensitivity_diagnostic
from imblearn.over_sampling import SMOTE

df = noise_sensitivity_diagnostic(
    X, y,
    minority_label=1,
    oversampler=SMOTE(random_state=0),
    noise_levels=[0.0, 0.1, 0.2],
    hidden_ratio=0.1,
)
print(df)

UMAP manifold distance:

from oversampleqa.metrics import umap_manifold_distance

d = umap_manifold_distance(real=X_minority, synthetic=X_syn, random_state=0)
print(d)