ClassesClassesClassesClasses | | | | Operators

learn_class_boxT_learn_class_boxLearnClassBoxlearn_class_boxLearnClassBoxLearnClassBox (Operator)


learn_class_boxT_learn_class_boxLearnClassBoxlearn_class_boxLearnClassBoxLearnClassBox — Train the classifier.


learn_class_box( : : ClassifHandle, Features, Class : )

Herror T_learn_class_box(const Htuple ClassifHandle, const Htuple Features, const Htuple Class)

Herror learn_class_box(const HTuple& ClassifHandle, const HTuple& Features, const HTuple& Class)

void HClassBox::LearnClassBox(const HTuple& Features, const HTuple& Class) const

void LearnClassBox(const HTuple& ClassifHandle, const HTuple& Features, const HTuple& Class)

void HClassBox::LearnClassBox(const HTuple& Features, Hlong Class) const

void HOperatorSetX.LearnClassBox(
[in] VARIANT ClassifHandle, [in] VARIANT Features, [in] VARIANT Class)

void HClassBoxX.LearnClassBox(
[in] VARIANT Features, [in] Hlong Class)

static void HOperatorSet.LearnClassBox(HTuple classifHandle, HTuple features, HTuple classVal)

void HClassBox.LearnClassBox(HTuple features, int classVal)


FeaturesFeaturesFeaturesFeaturesFeaturesfeatures is a tuple of any floating point numbers or integers (attributes) which has to be assigned to the class ClassClassClassClassClassclassVal. This class is specified by an integer. You may use the operator enquire_class_boxenquire_class_boxEnquireClassBoxenquire_class_boxEnquireClassBoxEnquireClassBox later to find the most probable class for any array (=tupel). The algorithm tries to describe the set of arrays of one class by hyper cuboids in the feature space. On demand you may even create several cuboids per class. Hence it is possible to learn disjunct concepts, too. I.e such concepts which split in several “cluster” of points in the feature space. The data structure is hidden to the user and only accessible with such operators which are described in this chapter.

Note that if a class consists of disjunct sub-classes that would lead to a splitting of the respective hyper cuboid, the training samples should be in random order with respect to the sub-classes. Otherwise, the splitting of the hyper cuboid will be sub-optimal.

It is possible to specify attributes as unknown by indicating the symbol '*' instead of a number. If you specify n values, then all following values, i.e. the attributes n+1 until 'max', are automatically supposed to be undefined.

You may call the operators learn_class_boxlearn_class_boxLearnClassBoxlearn_class_boxLearnClassBoxLearnClassBox and enquire_class_boxenquire_class_boxEnquireClassBoxenquire_class_boxEnquireClassBoxEnquireClassBox alternately, so that it is possible to classify already in the phase of learning. By this means you could see when a satisfying behavior had been reached.

The classifier is going to be bigger using further training. This means, that it is not advisable to continue training after reaching a satisfactory behavior.


This operator modifies the state of the following input parameter:

The value of this parameter may not be shared across multiple threads without external synchronization.


ClassifHandleClassifHandleClassifHandleClassifHandleClassifHandleclassifHandle (input_control, state is modified)  class_box HClassBox, HTupleHTupleHClassBox, HTupleHClassBoxX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle of the classifier.

FeaturesFeaturesFeaturesFeaturesFeaturesfeatures (input_control)  number-array HTupleHTupleHTupleVARIANTHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*) (double / Hlong / BSTR) (double / Hlong / char*)

Array of attributes to learn.

Default value: [1.0,1.5,2.0]

ClassClassClassClassClassclassVal (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Class to which the array has to be assigned.

Default value: 1


learn_class_boxlearn_class_boxLearnClassBoxlearn_class_boxLearnClassBoxLearnClassBox returns 2 (H_MSG_TRUE) for a normal case. An exception is raised if there are memory allocation problems. The number of classes is constrained. If this limit is passed, an exception is raised, too.

Possible Predecessors

create_class_boxcreate_class_boxCreateClassBoxcreate_class_boxCreateClassBoxCreateClassBox, enquire_class_boxenquire_class_boxEnquireClassBoxenquire_class_boxEnquireClassBoxEnquireClassBox

Possible Successors

test_sampset_boxtest_sampset_boxTestSampsetBoxtest_sampset_boxTestSampsetBoxTestSampsetBox, enquire_class_boxenquire_class_boxEnquireClassBoxenquire_class_boxEnquireClassBoxEnquireClassBox, write_class_boxwrite_class_boxWriteClassBoxwrite_class_boxWriteClassBoxWriteClassBox, close_class_boxclose_class_boxCloseClassBoxclose_class_boxCloseClassBoxCloseClassBox, clear_sampsetclear_sampsetClearSampsetclear_sampsetClearSampsetClearSampset

See also

test_sampset_boxtest_sampset_boxTestSampsetBoxtest_sampset_boxTestSampsetBoxTestSampsetBox, close_class_boxclose_class_boxCloseClassBoxclose_class_boxCloseClassBoxCloseClassBox, create_class_boxcreate_class_boxCreateClassBoxcreate_class_boxCreateClassBoxCreateClassBox, enquire_class_boxenquire_class_boxEnquireClassBoxenquire_class_boxEnquireClassBoxEnquireClassBox, learn_sampset_boxlearn_sampset_boxLearnSampsetBoxlearn_sampset_boxLearnSampsetBoxLearnSampsetBox



ClassesClassesClassesClasses | | | | Operators