Bias Direction PCA Detector API¶
The BiasDirectionPCADetector extracts a bias direction from group prototypes using PCA and measures the projection gap across groups to detect systematic embedding bias.
Class Reference¶
BiasDirectionPCADetector
¶
BiasDirectionPCADetector(
n_components: int = 1,
min_group_size: int = 10,
gap_threshold: float = 0.5,
config: BiasDirectionPCAConfig | None = None,
)
Bases: DetectorBase
Compute bias direction from group prototypes via PCA.
Source code in shortcut_detect/geometric/bias_direction_pca/src/detector.py
Quick Reference¶
Constructor¶
Methods¶
fit()¶
Fit the bias direction PCA detector on embeddings and group labels.
Parameters:
| Parameter | Type | Description |
|---|---|---|
embeddings |
ndarray | Shape (n_samples, n_features), 2D embedding array |
group_labels |
ndarray | Shape (n_samples,), group membership labels |
Returns: self
Attributes (after fit)¶
| Attribute | Type | Description |
|---|---|---|
report_ |
BiasDirectionPCAReport | Report with projection gap, explained variance, and per-group projections |
Usage Examples¶
Basic Usage¶
from shortcut_detect.geometric import BiasDirectionPCADetector
detector = BiasDirectionPCADetector()
detector.fit(embeddings, group_labels)
print(detector.report_)
Via Unified ShortcutDetector¶
from shortcut_detect import ShortcutDetector
detector = ShortcutDetector(methods=["bias_direction_pca"])
detector.fit(embeddings, labels, group_labels=group_labels)
print(detector.summary())