set_feature_lengths_class_train_data
名称
set_feature_lengths_class_train_data —在训练数据中定义子功能。
签名
set_feature_lengths_class_train_data(:ClassTrainDataHandle,SubFeatureLength,Names:)
描述
set_feature_lengths_class_train_data在ClassTrainDataHandle中的训练数据中定义子功能。子功能在SubFeatureLength中由一组长度定义,该长度将先前添加的列随后分组为子功能。无法对不后续的列进行分组。SubFeatureLength中所有条目的总和 必须等于在create_class_train_data中使用参数NumDim设置的维 数。(可选)可以在Names中定义所有子集的名称。
此处描述了该操作员有帮助的示例情况:有两个不同的数据源。两个数据源都提供一定长度的向量。第一个数据源提供长度为n的数据,第二个数据源提供长度为m的数据。为了自动确定哪个数据源对于某个分类问题更有价值,可以创建包含两个数据源的训练数据。例如,如果使用NumDim = n + m = w调用 create_class_train_data,则 可以在SubFeatureLength中使用[n,m]并在名称中使用[ Name1 ,Name2 ]来调用set_feature_lengths_class_train_data。描述这种情况,以便以后使用诸如select_feature_set_knn或select_feature_set_svm之类的运算符 。然后,必须通过调用add_sample_class_train_data来指定分类问题 ,方法是给出第一数据源的向量和第二数据源的向量作为长度w的组合特征向量。的调用的结果select_feature_set_knn然后将任一[NAME1]如果第一是更相关的, [NAME2]如果第二相关性更强或[NAME1,NAME2]如果两者都必要的。
并行化
多线程类型:可重入(与非排他运算符并行运行)。
多线程作用域:全局(可以从任何线程调用)。
未经并行处理。
该运算符修改以下输入参数的状态:
如果没有外部同步,则可能无法在多个线程之间共享此参数的值。
参量
处理应划分为子功能的训练数据。
子功能的长度。
子功能的名称。
示例(HDevelop)
* Find out which of the two features distinguishes two Classes NameFeature1 := 'Good Feature' NameFeature2 := 'Bad Feature' LengthFeature1 := 3 LengthFeature2 := 2 * Create training data create_class_train_data (LengthFeature1+LengthFeature2,\ ClassTrainDataHandle) * Define the features which are in the training data set_feature_lengths_class_train_data (ClassTrainDataHandle, [LengthFeature1,\ LengthFeature2], [NameFeature1, NameFeature2]) * Add training data * |Feat1| |Feat2| add_sample_class_train_data (ClassTrainDataHandle, 'row', [1,1,1, 2,1 ], 0) add_sample_class_train_data (ClassTrainDataHandle, 'row', [2,2,2, 2,1 ], 1) add_sample_class_train_data (ClassTrainDataHandle, 'row', [1,1,1, 3,4 ], 0) add_sample_class_train_data (ClassTrainDataHandle, 'row', [2,2,2, 3,4 ], 1) * Add more data * ... * Select the better feature select_feature_set_knn (ClassTrainDataHandle, 'greedy', [], [], KNNHandle,\ SelectedFeature, Score) clear_class_train_data (ClassTrainDataHandle) classify_class_knn (KNNHandle, [1,1,1], Result, Rating) classify_class_knn (KNNHandle, [2,2,2], Result, Rating) * Use the classifier * ... clear_class_knn (KNNHandle)
结果
如果参数有效,则运算符 set_feature_lengths_class_train_data 返回值2(H_MSG_TRUE)。如有必要,将引发异常。
可能的前辈
create_class_train_data, add_sample_class_train_data
可能的继任者
select_feature_set_knn, select_feature_set_svm, select_feature_set_mlp, select_feature_set_gmm

