classify_class_knnT_classify_class_knnClassifyClassKnnClassifyClassKnnclassify_class_knn分类类K-最近邻(算子)

名称

classify_class_knnT_classify_class_knnClassifyClassKnnClassifyClassKnnclassify_class_knn — 为给定特征向量搜索最近邻。

签名

classify_class_knn( : : KNNHandle, Features : Result, Rating)

Herror T_classify_class_knn(const Htuple KNNHandle, const Htuple Features, Htuple* Result, Htuple* Rating)

void ClassifyClassKnn(const HTuple& KNNHandle, const HTuple& Features, HTuple* Result, HTuple* Rating)

HTuple HClassKnn::ClassifyClassKnn(const HTuple& Features, HTuple* Rating) const

static void HOperatorSet.ClassifyClassKnn(HTuple KNNHandle, HTuple features, out HTuple result, out HTuple rating)

HTuple HClassKnn.ClassifyClassKnn(HTuple features, out HTuple rating)

def classify_class_knn(knnhandle: HHandle, features: Sequence[float]) -> Tuple[Sequence[int], Sequence[float]]

描述

classify_class_knnclassify_class_knnClassifyClassKnnClassifyClassKnnClassifyClassKnnclassify_class_knn 用于寻找特征向量 FeaturesFeaturesFeaturesFeaturesfeaturesfeatures 中给定特征的 'k'"k""k""k""k""k" 个最近邻。确定最近邻的距离度量是通过计算给定向量与训练样本向量之间的 L2-范数来实现的。

'k'"k""k""k""k""k" 的值可通过 set_params_class_knnset_params_class_knnSetParamsClassKnnSetParamsClassKnnSetParamsClassKnnset_params_class_knn 进行设置。结果可为特征向量的确定类别,或最近邻的索引。结果行为的选择可通过 set_params_class_knnset_params_class_knnSetParamsClassKnnSetParamsClassKnnSetParamsClassKnnset_params_class_knn 中的通用参数 'method'"method""method""method""method""method"'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes""max_num_classes" 实现:

'classes_distance'"classes_distance""classes_distance""classes_distance""classes_distance""classes_distance"

返回每个类别中距离最近的样本,最多支持 'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes""max_num_classes" 个不同类别,前提是这些类别在最近的 'k'"k""k""k""k""k" 个邻居中都有代表。结果数组 ResultResultResultResultresultresult 中的类别按其在 RatingRatingRatingRatingratingrating 中最小距离排序。在 k-NN 树中,没有高效方法能精确确定 'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes""max_num_classes" 个类别的最近邻居。

'classes_frequency'"classes_frequency""classes_frequency""classes_frequency""classes_frequency""classes_frequency"

统计最近的 'k'"k""k""k""k""k" 个邻居中某些类别的出现次数,并将出现类别按其相对频率排序后返回至 ResultResultResultResultresultresult,该排序结果存储于 RatingRatingRatingRatingratingrating 中。同样,最多返回 'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes""max_num_classes" 个值。

'classes_weighted_frequencies'"classes_weighted_frequencies""classes_weighted_frequencies""classes_weighted_frequencies""classes_weighted_frequencies""classes_weighted_frequencies"

统计最近的 'k'"k""k""k""k""k" 个邻居中某些类别的出现次数,并将出现类别按其相对频率排序后返回至 in ResultResultResultResultresultresult,该频率以平均距离为权重进行加权,平均距离结果存储于 RatingRatingRatingRatingratingrating 中。同样,最多返回 'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes""max_num_classes" 个值。

'neighbors_distance'"neighbors_distance""neighbors_distance""neighbors_distance""neighbors_distance""neighbors_distance"

返回 ResultResultResultResultresultresult 中最近的 'k'"k""k""k""k""k" 个邻居的索引,以及 RatingRatingRatingRatingratingrating 中的距离。

默认行为是 'classes_distance'"classes_distance""classes_distance""classes_distance""classes_distance""classes_distance",返回类和距离。

执行信息

参数

KNNHandleKNNHandleKNNHandleKNNHandleKNNHandleknnhandle (输入控制)  class_knn HClassKnn, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

k-NN 分类器的句柄。

FeaturesFeaturesFeaturesFeaturesfeaturesfeatures (输入控制)  number-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

应归类的特征。

ResultResultResultResultresultresult (输出控制)  number-array HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

分类结果,包括类别 IDs 或样本索引。

RatingRatingRatingRatingratingrating (输出控制)  number-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

结果的评分。该值包含距离、频率或加权频率。

结果

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

可能的前趋

train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn, read_class_knnread_class_knnReadClassKnnReadClassKnnReadClassKnnread_class_knn, set_params_class_knnset_params_class_knnSetParamsClassKnnSetParamsClassKnnSetParamsClassKnnset_params_class_knn

可能的后继

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

模块

基础