train_class_knnT_train_class_knnTrainClassKnnTrainClassKnntrain_class_knn (算子)

名称

train_class_knnT_train_class_knnTrainClassKnnTrainClassKnntrain_class_knn — 为 k-NN 分类器创建搜索树。

签名

train_class_knn( : : KNNHandle, GenParamName, GenParamValue : )

Herror T_train_class_knn(const Htuple KNNHandle, const Htuple GenParamName, const Htuple GenParamValue)

void TrainClassKnn(const HTuple& KNNHandle, const HTuple& GenParamName, const HTuple& GenParamValue)

void HClassKnn::TrainClassKnn(const HTuple& GenParamName, const HTuple& GenParamValue) const

static void HOperatorSet.TrainClassKnn(HTuple KNNHandle, HTuple genParamName, HTuple genParamValue)

void HClassKnn.TrainClassKnn(HTuple genParamName, HTuple genParamValue)

def train_class_knn(knnhandle: HHandle, gen_param_name: Sequence[str], gen_param_value: Sequence[Union[int, str, float]]) -> None

描述

train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn creates the search trees for a k-NN classifier.

It is possible to set the number of trees via the parameters GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name and GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value by 'num_trees'"num_trees""num_trees""num_trees""num_trees""num_trees". The default value for the number of search trees is 4. A higher number of trees improves the accuracy of the search, but increases the run time.

It is possible to add more samples after training using the operator add_sample_class_knnadd_sample_class_knnAddSampleClassKnnAddSampleClassKnnAddSampleClassKnnadd_sample_class_knn。The added data affects the classification only, if train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn is called again.

Automatic feature normalization can be activated by setting 'normalization'"normalization""normalization""normalization""normalization""normalization" in GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name and 'true'"true""true""true""true""true" in GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value. The feature vectors are normalized by normalizing each dimension separately. For each dimension, the mean and standard deviation is calculated over the training samples. Every feature vector is normalized by subtracting the mean and dividing by the standard deviation of the individual dimension. This results in a normalization, where each dimension has zero mean and unit variance. If the standard deviation happens to be zero, only the mean is subtracted. Please note however, that a feature dimension with no standard deviation does not change the classification result and should be removed. Automatic feature normalization will change the stored training data, but the original data can be restored at any time by calling train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn with 'normalization'"normalization""normalization""normalization""normalization""normalization" set to 'false'"false""false""false""false""false". If normalization is used, the operator classify_class_knnclassify_class_knnClassifyClassKnnClassifyClassKnnClassifyClassKnnclassify_class_knn interprets the input data as unnormalized and performs normalization internally as it has been defined in the last call to train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn.

执行信息

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

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

参数

KNNHandleKNNHandleKNNHandleKNNHandleKNNHandleknnhandle (输入控制,状态被修改)  class_knn HClassKnn, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

k-NN 分类器的句柄。

GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (输入控制)  string-array HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Names of the generic parameters that can be adjusted for the k-NN classifier creation.

默认值: []

值列表: 'normalization'"normalization""normalization""normalization""normalization""normalization", 'num_trees'"num_trees""num_trees""num_trees""num_trees""num_trees"

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

Values of the generic parameters that can be adjusted for the k-NN classifier creation.

默认值: []

建议值: 4, 'false'"false""false""false""false""false", 'true'"true""true""true""true""true"

结果

如果参数有效,算子 train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn 返回值 2 ( H_MSG_TRUE )。如有必要,则抛出异常。

可能的前趋

add_sample_class_knnadd_sample_class_knnAddSampleClassKnnAddSampleClassKnnAddSampleClassKnnadd_sample_class_knn, read_class_knnread_class_knnReadClassKnnReadClassKnnReadClassKnnread_class_knn

替代

select_feature_set_knnselect_feature_set_knnSelectFeatureSetKnnSelectFeatureSetKnnSelectFeatureSetKnnselect_feature_set_knn

另见

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.

模块

基础