Using semi-supervised learning and Python, given a data set with mostly valid examples, we learn the distribution of the points using Gaussian and Multivariate Gaussian models. Then we can flag points as anomalous or not using the trained models.
The supervised part of the algorithm is specifying the threshold value which is used to flag the points.
The displayed graphs below represent a Gaussian Model (top) and a Multivariate Gaussian Model (bottom). Both models were trained using the same input data.
Graph Legend:
x and y axis - Data points in 2D space
Blue Points - Input Data which is used to build a model
Red Points - Points in 2D space flagged as anomalous
Yellow Points - Points in 2D space flagged as valid
- Rados Jovanovic - Initial work - bitbloop
This project is licensed under the MIT License - see the LICENSE.md file for details
- Hat tip to everyone contributing to science!
