Operator Reference

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.

Signature

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

Description

add_sample_class_knnadd_sample_class_knnAddSampleClassKnnAddSampleClassKnnadd_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_knnCreateClassKnnCreateClassKnncreate_class_knn by NumDimNumDimNumDimnumDimnum_dim. A handle to a k-NN data structure has to be specified in KNNHandleKNNHandleKNNHandleKNNHandleknnhandle.

The feature vectors are collected in FeaturesFeaturesFeaturesfeaturesfeatures. The length of the input vector must be a multiple of NumDimNumDimNumDimnumDimnum_dim. Each feature vector needs a class which can be given by ClassIDClassIDClassIDclassIDclass_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_knnClassifyImageClassKnnClassifyImageClassKnnclassify_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_knnTrainClassKnnTrainClassKnntrain_class_knn.

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

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

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.

Parameters

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

Handle of the k-NN classifier.

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

List of features to add.

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

Class IDs of the features.

Result

If the parameters are valid, the operator add_sample_class_knnadd_sample_class_knnAddSampleClassKnnAddSampleClassKnnadd_sample_class_knn returns the value 2 ( H_MSG_TRUE) . If necessary, an exception is raised.

Possible Predecessors

train_class_knntrain_class_knnTrainClassKnnTrainClassKnntrain_class_knn, read_class_knnread_class_knnReadClassKnnReadClassKnnread_class_knn

See also

create_class_knncreate_class_knnCreateClassKnnCreateClassKnncreate_class_knn, read_class_knnread_class_knnReadClassKnnReadClassKnnread_class_knn

References

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

Module

Foundation