delta-audit

API Reference

This page documents the Python API for Delta-Audit.

Core Modules

delta_audit.metrics

Core Δ-Attribution metrics computation.

compute_all_metrics(phi_A, phi_B, delta_phi, delta_f, top_m_features=None, A_correct=None, B_correct=None)

Compute the complete suite of Δ-Attribution metrics.

Parameters:

Returns:

compute_bac(delta_phi, delta_f)

Compute Behavioral Alignment Coefficient.

Parameters:

Returns:

compute_dce(delta_phi, delta_f)

Compute Differential Conservation Error.

Parameters:

Returns:

delta_audit.explainers

Attribution computation methods.

compute_occlusion_attributions(model, X, baseline)

Compute occlusion-based attributions.

Parameters:

Returns:

compute_mean_baseline(X)

Compute mean baseline for attribution methods.

Parameters:

Returns:

delta_audit.runners

Training and evaluation pipelines.

run_benchmark(config_path, output_dir="results")

Run the full benchmark across all datasets, algorithms, and pairs.

Parameters:

Returns:

run_quickstart(output_dir="results")

Run a quick demonstration with a subset of experiments.

Parameters:

Returns:

train_model_pair(X_train, y_train, algo, config_A, config_B)

Train a pair of models with different configurations.

Parameters:

Returns:

delta_audit.plotting

Figure generation utilities.

make_overview_figure(summary_dir, output_dir)

Generate comprehensive overview figure from results.

Parameters:

Returns:

plot_bac_vs_dce(delta_results, save_path=None)

Plot BAC vs DCE scatter plot.

Parameters:

Returns:

delta_audit.io

Data loading and saving utilities.

load_results(file_path)

Load results from a CSV file.

Parameters:

Returns:

save_results(results, file_path)

Save results to a CSV file.

Parameters:

Returns:

load_config(config_path)

Load configuration from a YAML file.

Parameters:

Returns:

Example Usage

import numpy as np
import pandas as pd
from delta_audit import (
    compute_all_metrics,
    compute_occlusion_attributions,
    compute_mean_baseline,
    train_model_pair,
    run_quickstart
)

# Run quickstart
run_quickstart()

# Or run custom analysis
from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split

# Load data
data = load_wine()
X_train, X_test, y_train, y_test = train_test_split(
    data.data, data.target, test_size=0.2, random_state=42
)

# Train model pair
config_A = {'C': 1.0, 'penalty': 'l2', 'solver': 'lbfgs'}
config_B = {'C': 0.1, 'penalty': 'l2', 'solver': 'lbfgs'}
model_A, model_B = train_model_pair(X_train, y_train, 'logreg', config_A, config_B)

# Compute attributions
baseline = compute_mean_baseline(X_train)
phi_A = compute_occlusion_attributions(model_A, X_test, baseline)
phi_B = compute_occlusion_attributions(model_B, X_test, baseline)

# Compute metrics
delta_phi = phi_B - phi_A
delta_f = model_B.predict_proba(X_test).max(axis=1) - model_A.predict_proba(X_test).max(axis=1)

metrics = compute_all_metrics(phi_A, phi_B, delta_phi, delta_f)
print(f"BAC: {metrics['bac']:.3f}")
print(f"DCE: {metrics['dce']:.3f}")

Configuration Format

Delta-Audit uses YAML configuration files:

datasets:
  - breast_cancer
  - wine
  - digits

algo_pairs:
  logreg:
    - A: {C: 1.0, penalty: l2, solver: lbfgs}
      B: {C: 0.1, penalty: l2, solver: lbfgs}
      pair_name: pair1

experiment_settings:
  test_size: 0.2
  random_state: 42
  baseline_method: mean

Data Formats

Input Data

Output Results

Error Handling

Most functions include error handling and will: