learn_class_boxT_learn_class_boxLearnClassBoxLearnClassBoxlearn_class_box (算子)

名称

learn_class_boxT_learn_class_boxLearnClassBoxLearnClassBoxlearn_class_box — 训练分类器。

警告

learn_class_boxlearn_class_boxLearnClassBoxLearnClassBoxLearnClassBoxlearn_class_box 已过时,仅出于向后兼容性考虑而保留。新应用程序应使用 MLP、SVM、KNN 或 GMM 算子替代。

签名

learn_class_box( : : ClassifHandle, Features, Class : )

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

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

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

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

void HClassBox.LearnClassBox(HTuple features, int classVal)

def learn_class_box(classif_handle: HHandle, features: Sequence[Union[int, float, str]], class_val: int) -> None

描述

FeaturesFeaturesFeaturesFeaturesfeaturesfeatures is a tuple of any floating point numbers or integers (attributes) which has to be assigned to the class ClassClassClassClassclassValclass. This class is specified by an integer. You may use the operator enquire_class_boxenquire_class_boxEnquireClassBoxEnquireClassBoxEnquireClassBoxenquire_class_box later to find the most probable class for any array (=tuple). 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_boxLearnClassBoxLearnClassBoxLearnClassBoxlearn_class_box and enquire_class_boxenquire_class_boxEnquireClassBoxEnquireClassBoxEnquireClassBoxenquire_class_box 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.

执行信息

此算子修改后续输入参数的状态:

在执行此算子时,若该参数值需在多个线程间使用,则必须对其访问进行同步。

参数

ClassifHandleClassifHandleClassifHandleClassifHandleclassifHandleclassif_handle (输入控制,状态被修改)  class_box HClassBox, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of the classifier.

FeaturesFeaturesFeaturesFeaturesfeaturesfeatures (输入控制)  number-array HTupleSequence[Union[int, float, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Array of attributes to learn.

默认值: [1.0,1.5,2.0]

ClassClassClassClassclassValclass (输入控制)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Class to which the array has to be assigned.

默认值: 1

结果

learn_class_boxlearn_class_boxLearnClassBoxLearnClassBoxLearnClassBoxlearn_class_box 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.

可能的前趋

create_class_boxcreate_class_boxCreateClassBoxCreateClassBoxCreateClassBoxcreate_class_box, enquire_class_boxenquire_class_boxEnquireClassBoxEnquireClassBoxEnquireClassBoxenquire_class_box

可能的后继

test_sampset_boxtest_sampset_boxTestSampsetBoxTestSampsetBoxTestSampsetBoxtest_sampset_box, enquire_class_boxenquire_class_boxEnquireClassBoxEnquireClassBoxEnquireClassBoxenquire_class_box, write_class_boxwrite_class_boxWriteClassBoxWriteClassBoxWriteClassBoxwrite_class_box, close_class_boxclose_class_boxCloseClassBoxCloseClassBoxCloseClassBoxclose_class_box, clear_sampsetclear_sampsetClearSampsetClearSampsetClearSampsetclear_sampset

另见

test_sampset_boxtest_sampset_boxTestSampsetBoxTestSampsetBoxTestSampsetBoxtest_sampset_box, close_class_boxclose_class_boxCloseClassBoxCloseClassBoxCloseClassBoxclose_class_box, create_class_boxcreate_class_boxCreateClassBoxCreateClassBoxCreateClassBoxcreate_class_box, enquire_class_boxenquire_class_boxEnquireClassBoxEnquireClassBoxEnquireClassBoxenquire_class_box, learn_sampset_boxlearn_sampset_boxLearnSampsetBoxLearnSampsetBoxLearnSampsetBoxlearn_sampset_box

模块

基础