Skip to main content

updatePerceptronClassifier (Stream Processor)

This extension builds or updates a linear binary classification Perceptron model, which is an algorithm used for supervised learning in binary classification tasks. The Perceptron model is a simple and efficient method for solving linearly separable problems, and it is particularly useful for cases where fast, online learning is required.

Syntax

streamingml:updatePerceptronClassifier(<STRING> model.name, <BOOL|STRING> model.label, <DOUBLE|FLOAT|INT|LONG> model.feature, <DOUBLE|FLOAT|INT|LONG> ...)
streamingml:updatePerceptronClassifier(<STRING> model.name, <BOOL|STRING> model.label, <DOUBLE> learning.rate, <DOUBLE|FLOAT|INT|LONG> model.feature, <DOUBLE|FLOAT|INT|LONG> ...)

Query Parameters

NameDescriptionDefault ValuePossible Data TypesOptionalDynamic
model.nameThe name of the model to be built/updated.STRINGNoNo
model.labelThe attribute of the label or the class of the dataset.BOOL STRINGNoYes
learning.rateThe learning rate of the Perceptron algorithm.0.1DOUBLEYesNo
model.featureFeatures of the model that need to be attributes of the stream.DOUBLE FLOAT INT LONGNoYes

Extra Return Attributes

NameDescriptionPossible Types
featureWeightWeight of the feature.name of the model.DOUBLE

Example 1

CREATE STREAM StreamA (attribute_0 double, attribute_1 double, attribute_2 double, attribute_3 double, attribute_4 string);

INSERT ALL EVENTS INTO OutputStream
FROM StreamA#streamingml:updatePerceptronClassifier('model1', attribute_4, 0.01, attribute_0, attribute_1, attribute_2, attribute_3);

This query, named Query1, builds or updates a Perceptron model named model1 with a 0.01 learning rate, using attribute_0, attribute_1, attribute_2, and attribute_3 as features, and attribute_4 as the label. Updated weights of the model are emitted to the OutputStream stream.

Example 2

CREATE STREAM StreamA (attribute_0 double, attribute_1 double, attribute_2 double, attribute_3 double, attribute_4 string);

INSERT ALL EVENTS INTO OutputStream
FROM StreamA#streamingml:updatePerceptronClassifier('model1', attribute_4, attribute_0, attribute_1, attribute_2, attribute_3);

This query, named Query2, builds or updates a Perceptron model named model1 with the default 0.1 learning rate, using attribute_0, attribute_1, attribute_2, and attribute_3 as features, and attribute_4 as the label. The updated weights of the model are appended to the OutputStream stream.

Example 3

CREATE STREAM StreamA (attribute_0 double, attribute_1 double, attribute_2 double, attribute_3 double, attribute_4 string, attribute_5 bool);

INSERT ALL EVENTS INTO OutputStream
FROM StreamA#streamingml:updatePerceptronClassifier('model2', attribute_5, 0.02, attribute_0, attribute_1, attribute_2, attribute_3, attribute_4);

This query, named Query3, builds or updates a Perceptron model named model2 with a 0.02 learning rate, using attribute_0, attribute_1, attribute_2, attribute_3, and attribute_4 as features, and attribute_5 as the label. The updated weights of the model are appended to the OutputStream stream.