pysad.models.KitNet¶
- class pysad.models.KitNet(max_size_ae=10, grace_feature_mapping=None, grace_anomaly_detector=50000, learning_rate=0.1, hidden_ratio=0.75)[source]¶
KitNET is a lightweight online anomaly detection algorithm based on an ensemble of autoencoders [BMDES18]. This model directly uses the implementation from KitNET-py.
- Parameters:
num_features (int) – The number of features in your input dataset.
max_size_ae (int) – The maximum size of any autoencoder in the ensemble layer (Default=10).
grace_feature_mapping (int) – The number of instances the network will learn from before producing anomaly scores (Default=None).
grace_anomaly_detector (int) – The number of instances which will be taken to learn the feature mapping. If ‘None’, then FM_grace_period=AM_grace_period. (Default=50000).
learning_rate (float) – The default stochastic gradient descent learning rate for all autoencoders in the KitNET instance (Default=0.1).
hidden_ratio (float) – The default ratio of hidden to visible neurons. E.g., 0.75 will cause roughly a 25% compression in the hidden layer (Default=0.75).
Methods
__init__
([max_size_ae, ...])fit
(X[, y])Fits the model to all instances in order.
fit_partial
(X[, y])Fits the model to next instance.
fit_score
(X[, y])This helper method applies fit_score_partial to all instances in order.
fit_score_partial
(X[, y])Applies fit_partial and score_partial to the next instance, respectively.
score
(X)Scores all instaces via score_partial iteratively.
Scores the anomalousness of the next instance.
- fit(X, y=None)¶
Fits the model to all instances in order.
- fit_partial(X, y=None)[source]¶
Fits the model to next instance. Simply, adds the instance to the window.
- fit_score(X, y=None)¶
This helper method applies fit_score_partial to all instances in order.
- Parameters:
X (np.float64 array of shape (num_instances, num_features)) – The instances in order to fit.
y (np.int32 array of shape (num_instances, )) – The labels of the instances in order to fit (Optional for unsupervised models, default=None).
- Returns:
The anomalousness scores of the instances in order.
- Return type:
np.float64 array of shape (num_instances,)
- fit_score_partial(X, y=None)¶
Applies fit_partial and score_partial to the next instance, respectively.
- score(X)¶
Scores all instaces via score_partial iteratively.
- Parameters:
X (np.float64 array of shape (num_instances, num_features)) – The instances in order to score.
- Returns:
The anomalousness scores of the instances in order.
- Return type:
np.float64 array of shape (num_instances,)
- score_partial(X)[source]¶
Scores the anomalousness of the next instance.
- Parameters:
X (np.float64 array of shape (num_features,)) – The instance to score. Higher scores represent more anomalous instances whereas lower scores correspond to more normal instances.
- Returns:
The anomalousness score of the input instance.
- Return type: