Feature Overlap Measures
Feature-level measures analyze how well individual features separate classes.
F1 - Maximum Fisher's Discriminant Ratio
Measures the maximum discriminative power across all features.
Interpretation: - Higher values indicate better feature separability - Low F1 suggests poor feature discrimination
F1v - Directional-Vector Maximum Fisher's Discriminant Ratio
Extends F1 by considering feature combinations.
Interpretation: - Higher values indicate better separability in feature space
F2 - Volume of Overlapping Region
Measures the volume of the region where classes overlap.
Interpretation: - Lower values indicate less overlap - 0.0: No overlap - 1.0: Complete overlap
F3 - Maximum Individual Feature Efficiency
Measures the efficiency of the best single feature.
Interpretation: - Higher values indicate at least one feature separates classes well
F4 - Collective Feature Efficiency
Measures how well features collectively separate classes.
Interpretation: - Higher values indicate good collective discrimination
Input Noise
Estimates the amount of noise in input features.
Interpretation: - Lower values indicate cleaner data - Higher values suggest noisy features
Example: Analyze All Feature Measures
from fairsample.complexity import ComplexityMeasures
cm = ComplexityMeasures(X, y)
feature_measures = cm.get_all_complexity_measures(measures='feature')
for measure, value in feature_measures.items():
print(f"{measure}: {value:.4f}")