Skip to content

Siddhi Execution Streaming ML

Jenkins Build Status GitHub (pre-)Release GitHub (Pre-)Release Date GitHub Open Issues GitHub Last Commit License

The siddhi-execution-streamingml extension is a Siddhi extension that provides streaming machine learning (clustering, classification and regression) on event streams.

For information on Siddhi and it's features refer Siddhi Documentation.

Download

  • Versions 2.x and above with group id io.siddhi.extension.* from here.
  • Versions 1.x and lower with group id org.wso2.extension.siddhi.* from here.

Latest API Docs

Latest API Docs is 2.0.2.

Features

  • bayesianClassification (Stream Processor)

    This extension predicts using a Bayesian multivariate logistic regression model. This Bayesian model allows determining the uncertainty of each prediction by estimating the full-predictive distribution

  • bayesianRegression (Stream Processor)

    This extension predicts using a Bayesian linear regression model.Bayesian linear regression allows determining the uncertainty of each prediction by estimating the full-predictive distribution

  • kMeansIncremental (Stream Processor)

    Performs K-Means clustering on a streaming data set. Data points can be of any dimension and the dimensionality is calculated from number of parameters. All data points to be processed by a query should be of the same dimensionality. The Euclidean distance is taken as the distance metric. The algorithm resembles Sequential K-Means Clustering at https://www.cs.princeton.edu/courses/archive/fall08/cos436/Duda/C/sk_means.htm

  • kMeansMiniBatch (Stream Processor)

    Performs K-Means clustering on a streaming data set. Data points can be of any dimension and the dimensionality is calculated from number of parameters. All data points to be processed in a single query should be of the same dimensionality. The Euclidean distance is taken as the distance metric. The algorithm resembles mini-batch K-Means. (refer Web-Scale K-Means Clustering by D.Sculley, Google, Inc.).

  • perceptronClassifier (Stream Processor)

    This extension predicts using a linear binary classification Perceptron model.

  • updateBayesianClassification (Stream Processor)

    This extension train a Bayesian multivariate logistic regression model. We can use this model for multi-class classification. This extension uses an improved version of stochastic variational inference.

  • updateBayesianRegression (Stream Processor)

    This extension builds/updates a linear Bayesian regression model. This extension uses an improved version of stochastic variational inference.

  • updatePerceptronClassifier (Stream Processor)

    This extension builds/updates a linear binary classification Perceptron model.

Dependencies

There are no other dependencies needed for this extension.

Installation

For installing this extension on various siddhi execution environments refer Siddhi documentation section on adding extensions.

Support and Contribution

  • We encourage users to ask questions and get support via StackOverflow, make sure to add the siddhi tag to the issue for better response.

  • If you find any issues related to the extension please report them on the issue tracker.

  • For production support and other contribution related information refer Siddhi Community documentation.