add_sample_class_knnT_add_sample_class_knnAddSampleClassKnnAddSampleClassKnnadd_sample_class_knn (Operator)


add_sample_class_knnT_add_sample_class_knnAddSampleClassKnnAddSampleClassKnnadd_sample_class_knn — Add a sample to a k-nearest neighbors (k-NN) classifier.


add_sample_class_knn( : : KNNHandle, Features, ClassID : )

Herror T_add_sample_class_knn(const Htuple KNNHandle, const Htuple Features, const Htuple ClassID)

void AddSampleClassKnn(const HTuple& KNNHandle, const HTuple& Features, const HTuple& ClassID)

void HClassKnn::AddSampleClassKnn(const HTuple& Features, const HTuple& ClassID) const

void HClassKnn::AddSampleClassKnn(double Features, Hlong ClassID) const

static void HOperatorSet.AddSampleClassKnn(HTuple KNNHandle, HTuple features, HTuple classID)

void HClassKnn.AddSampleClassKnn(HTuple features, HTuple classID)

void HClassKnn.AddSampleClassKnn(double features, int classID)

def add_sample_class_knn(knnhandle: HHandle, features: MaybeSequence[float], class_id: MaybeSequence[int]) -> None


add_sample_class_knnadd_sample_class_knnAddSampleClassKnnAddSampleClassKnnAddSampleClassKnnadd_sample_class_knn adds a feature vector to a k-nearest neighbors (k-NN) data structure. The length of a feature vector was specified in create_class_knncreate_class_knnCreateClassKnnCreateClassKnnCreateClassKnncreate_class_knn by NumDimNumDimNumDimNumDimnumDimnum_dim. A handle to a k-NN data structure has to be specified in KNNHandleKNNHandleKNNHandleKNNHandleKNNHandleknnhandle.

The feature vectors are collected in FeaturesFeaturesFeaturesFeaturesfeaturesfeatures. The length of the input vector must be a multiple of NumDimNumDimNumDimNumDimnumDimnum_dim. Each feature vector needs a class which can be given by ClassIDClassIDClassIDClassIDclassIDclass_id, if only one was specified, the class is used for all vectors. The class is a natural number greater or equal to 0. If only one class is used, the class has to be 0. In case the operator classify_image_class_knnclassify_image_class_knnClassifyImageClassKnnClassifyImageClassKnnClassifyImageClassKnnclassify_image_class_knn will be used, all numbers starting from 0 to the number of classes-1 should be used, since otherwise an empty region will be generated for each unused number.

It is allowed to add samples to an already trained k-NN classificator. The new data is only integrated after another call to train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn.

If the k-NN classifier has been trained with automatic feature normalization enabled, the supplied features FeaturesFeaturesFeaturesFeaturesfeaturesfeatures are interpreted as unnormalized and are normalized as it was defined by the last call to train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn. Please see train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn for more information on normalization.

Execution Information

This operator modifies the state of the following input parameter:

During execution of this operator, access to the value of this parameter must be synchronized if it is used across multiple threads.


KNNHandleKNNHandleKNNHandleKNNHandleKNNHandleknnhandle (input_control, state is modified)  class_knn HClassKnn, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of the k-NN classifier.

FeaturesFeaturesFeaturesFeaturesfeaturesfeatures (input_control)  number(-array) HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)

List of features to add.

ClassIDClassIDClassIDClassIDclassIDclass_id (input_control)  integer(-array) HTupleMaybeSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Class IDs of the features.


If the parameters are valid, the operator add_sample_class_knnadd_sample_class_knnAddSampleClassKnnAddSampleClassKnnAddSampleClassKnnadd_sample_class_knn returns the value TRUE. If necessary, an exception is raised.

Possible Predecessors

train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn, read_class_knnread_class_knnReadClassKnnReadClassKnnReadClassKnnread_class_knn

See also

create_class_knncreate_class_knnCreateClassKnnCreateClassKnnCreateClassKnncreate_class_knn, read_class_knnread_class_knnReadClassKnnReadClassKnnReadClassKnnread_class_knn


Marius Muja, David G. Lowe: “Fast Approximate Nearest Neighbors with Automatic Algorithm Configuration”; International Conference on Computer Vision Theory and Applications (VISAPP 09); 2009.