| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
While gathering requirements to develop the Java™ version of the Network API, we decided one of the things which was needed was a usage example that could be compared to the Python version. The Python version has a Network API Demo (actually two now) which we decided could be used to demonstrate direct compliance of essential concepts. The demo we chose also demonstrates the use of the Anomaly Prediction functionality - so naturally we simply had to create that too!
So as a result we now have a major piece of functionality added to the "Algorithms" package which contains the classes organized around CLA Classification.
There are 3 explicit modes in which anomaly functionality can be used:
int[] currentlyActiveColumns = { 3, 5, 7 }; // Array containing col indexes
int[] predictedActiveColumns = { 2, 5, 6 };
double score = Anomaly.computeRawAnomalyScore(currentlyActiveColumns, predictedActiveColumns); Map<String, Object> params = new HashMap<>();
params.put(KEY_MODE, Mode.PURE); // May be Mode.LIKELIHOOD
params.put(KEY_USE_MOVING_AVG, true);
params.put(KEY_WINDOW_SIZE, 10);
params.put(KEY_IS_WEIGHTED, true);
Anomaly anomalyComputer = Anomaly.create(params);
double score = anomalyComputer.compute(currentlyActiveColumns, predictedActiveColumns, 0, 0); Map<String, Object> params = new HashMap<>();
params.put(KEY_MODE, Mode.LIKELIHOOD);
params.put(KEY_USE_MOVING_AVG, true);
params.put(KEY_WINDOW_SIZE, 10);
params.put(KEY_IS_WEIGHTED, true);
// Collect timestamp, input value (double), score (double) in a List<Sample>
List<Sample> samples = ... // Where Sample = Sample(timestamp, value, score)
Anomaly an = Anomaly.create(params);
AnomalyLikelihoodMetrics metrics = an.estimateAnomalyLikelihoods(samples, 10, 0);
// Above **AnomalyLikelihoodMetrics** contains many statistical goodies. To update the anomaly computer with new Samples, call:
AnomalyLikelihoodMetrics metrics2 = an.updateAnomalyLikelihoods(<new samples>, metrics.getParams()); Be sure and keep up on the new Network API package development, monitor #HtmJavaDevUpdates
| Back | FazBrowse Home | New Git URL |