energy_fault_detector.config

Configuration classes.

class Config(config_filename=None, config_dict=None)[source]

Bases: BaseConfig

Configuration class. Either config_filename or config_dict must be provided. Reads a yaml file with the anomaly detection configuration and sets corresponding settings.

property arcana_params: Dict[str, Any]

Get the ARCANA parameters.

property data_clipping: bool

Whether to clip training data.

property data_clipping_params: Dict[str, Any]

Data clipping parameters.

property data_preprocessor_steps: List[Dict[str, Any]]

Get the data preprocessor steps.

property data_split_params: Dict[str, Any]

DataSplitter or train_test_split parameters.

property dtype

Data type, float32 by default.

property fit_threshold_on_val: bool

Whether to fit threshold on validation data only.

property max_criticality: int | None

Max criticality value.

property protect_conditional_features: bool

Whether to protect conditional features from being dropped by preprocessing.

property root_cause_analysis: bool

Whether to run ARCANA.

generate_quickstart_config(output_path=None, *, max_nan_frac=0.05, min_unique_value_count=2, max_col_zero_frac=1.0, angle_columns=None, counter_columns=None, imputer_strategy='mean', scaler='standard', early_stopping=False, validation_split=0.2, threshold_quantile=0.99, batch_size=128, code_size=20, epochs=10, layers=None, learning_rate=0.001)[source]

Generate a minimal, valid configuration for EnergyFaultDetector.

This function returns a Config object that can directly be used in the EnergyFaultDetector. Optionally writes the configuration to YAML if an output path is supplied.

Example

from energy_fault_detector import FaultDetector
from energy_fault_detector.config import generate_quickstart_config

config = generate_quickstart_config()
fault_detector = FaultDetector(config=config)
Parameters:
  • output_path (Union[str, Path, None]) – YAML output path; set None to skip writing. Default: None

  • max_nan_frac (float) – Max fraction of missing values per column for selection. Default: 0.05

  • min_unique_value_count (int) – Minimal unique values required to keep a column. Default: 2

  • max_col_zero_frac (float) – Max fraction of zeros allowed in a column. Default: 1.0

  • angle_columns (Optional[List[str]]) – Optional columns to transform as angles (sin/cos). Default: None

  • counter_columns (Optional[List[str]]) – Optional counter columns to convert to differences. Default: None

  • imputer_strategy (str) – Strategy for SimpleImputer (“mean”, “median”, etc.). Default: mean

  • scaler (str) – Scaler selection (“standard” or “minmax”; common aliases allowed). Default: standard

  • early_stopping (bool) – Enable early stopping in the autoencoder training. Default: False

  • validation_split (float) – Fraction for validation in sklearn splitter (0 < val < 1).

  • threshold_quantile (float) – Quantile for the “quantile” threshold selector. Default: 0.99

  • batch_size (int) – Autoencoder batch size. Default: 128

  • code_size (int) – Bottleneck code size. Default: 20

  • epochs (int) – Number of training epochs. Default: 10

  • layers (Optional[List[int]]) – Autoencoder layer sizes; defaults to [200, 100, 50] if None. For small datasets (<20 features), consider smaller layers like [20, 10, 5].

  • learning_rate (float) – Optimizer learning rate.

Returns:

Configuration ready to use: FaultDetector(config).

Return type:

Config

Raises:

ValueError – If early_stopping is True but validation_split is not in (0, 1).