alibi_detect.od.aegmm module
- class alibi_detect.od.aegmm.OutlierAEGMM(threshold=None, aegmm=None, encoder_net=None, decoder_net=None, gmm_density_net=None, n_gmm=None, recon_features=<function eucl_cosim_features>, data_type=None)[source]
Bases:
BaseDetector
,FitMixin
,ThresholdMixin
- __init__(threshold=None, aegmm=None, encoder_net=None, decoder_net=None, gmm_density_net=None, n_gmm=None, recon_features=<function eucl_cosim_features>, data_type=None)[source]
AEGMM-based outlier detector.
- Parameters:
threshold (
Optional
[float
]) – Threshold used for outlier score to determine outliers.aegmm (
Optional
[Model
]) – A trained tf.keras model if available.encoder_net (
Optional
[Model
]) – Layers for the encoder wrapped in a tf.keras.Sequential class if no ‘aegmm’ is specified.decoder_net (
Optional
[Model
]) – Layers for the decoder wrapped in a tf.keras.Sequential class if no ‘aegmm’ is specified.gmm_density_net (
Optional
[Model
]) – Layers for the GMM network wrapped in a tf.keras.Sequential class.recon_features (
Callable
) – Function to extract features from the reconstructed instance by the decoder.data_type (
Optional
[str
]) – Optionally specifiy the data type (tabular, image or time-series). Added to metadata.
- fit(X, loss_fn=<function loss_aegmm>, w_energy=0.1, w_cov_diag=0.005, optimizer=tensorflow.keras.optimizers.Adam, epochs=20, batch_size=64, verbose=True, log_metric=None, callbacks=None)[source]
Train AEGMM model.
- Parameters:
X – Training batch.
loss_fn – Loss function used for training.
w_energy – Weight on sample energy loss term if default loss_aegmm loss fn is used.
w_cov_diag – Weight on covariance regularizing loss term if default loss_aegmm loss fn is used.
optimizer – Optimizer used for training.
epochs – Number of training epochs.
batch_size – Batch size used for training.
verbose – Whether to print training progress.
log_metric – Additional metrics whose progress will be displayed if verbose equals True.
callbacks – Callbacks used during training.
- infer_threshold(X, threshold_perc=95.0, batch_size=10000000000)[source]
Update threshold by a value inferred from the percentage of instances considered to be outliers in a sample of the dataset.
- predict(X, batch_size=10000000000, return_instance_score=True)[source]
Compute outlier scores and transform into outlier predictions.
- Parameters:
- Return type:
- Returns:
Dictionary containing
'meta'
and'data'
dictionaries. –'meta'
has the model’s metadata.'data'
contains the outlier predictions and instance level outlier scores.