classify_class_knnT_classify_class_knnClassifyClassKnnClassifyClassKnnclassify_class_knn (算子)
名称
classify_class_knnT_classify_class_knnClassifyClassKnnClassifyClassKnnclassify_class_knn — 搜索给定特征向量的下一个邻居。
签名
def classify_class_knn(knnhandle: HHandle, features: Sequence[float]) -> Tuple[Sequence[int], Sequence[float]]
描述
classify_class_knnclassify_class_knnClassifyClassKnnClassifyClassKnnClassifyClassKnnclassify_class_knn searches for the next 'k'"k""k""k""k""k"
neighbors of the feature vector given in FeaturesFeaturesFeaturesFeaturesfeaturesfeatures.
The distance which is used to determine the next neighbor is
the L2-norm of the given vector and the training samples.
The value of 'k'"k""k""k""k""k" can be set via set_params_class_knnset_params_class_knnSetParamsClassKnnSetParamsClassKnnSetParamsClassKnnset_params_class_knn。The results can either be the determined class of the feature vector or
the indices of the nearest neighbors. The selection of the result behavior
can be made by set_params_class_knnset_params_class_knnSetParamsClassKnnSetParamsClassKnnSetParamsClassKnnset_params_class_knn via the generic parameters
'method'"method""method""method""method""method" and '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":
returns the nearest samples
for each of maximally 'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes""max_num_classes" different classes,
if they have a representative in the nearest 'k'"k""k""k""k""k" neighbors.
The results in ResultResultResultResultresultresult are classes sorted by their minimal
distance in RatingRatingRatingRatingratingrating. There is no efficient way to determine in a
k-NN-tree the nearest neighbor for exactly 'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes""max_num_classes"
classes.
- 'classes_frequency'"classes_frequency""classes_frequency""classes_frequency""classes_frequency""classes_frequency":
counts the occurrences of certain
classes among the nearest 'k'"k""k""k""k""k" neighbors and returns the occurrent
classes in ResultResultResultResultresultresult sorted by their relative frequency that is
returned in RatingRatingRatingRatingratingrating. Again, maximally 'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes""max_num_classes"
values are returned.
- 'classes_weighted_frequencies'"classes_weighted_frequencies""classes_weighted_frequencies""classes_weighted_frequencies""classes_weighted_frequencies""classes_weighted_frequencies":
counts the occurrences of certain classes among the
nearest 'k'"k""k""k""k""k" neighbors and returns the occurrent classes
in ResultResultResultResultresultresult sorted by their relative frequency weighted with the
average distance that is returned in RatingRatingRatingRatingratingrating.
Again, maximally 'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes""max_num_classes" values are returned.
- 'neighbors_distance'"neighbors_distance""neighbors_distance""neighbors_distance""neighbors_distance""neighbors_distance":
returns the indices of the nearest
'k'"k""k""k""k""k" neighbors in ResultResultResultResultresultresult
and the distances in RatingRatingRatingRatingratingrating。
The default behavior is 'classes_distance'"classes_distance""classes_distance""classes_distance""classes_distance""classes_distance" and returns the
classes and distances.
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 在内部数据级别上自动并行化。
参数
KNNHandleKNNHandleKNNHandleKNNHandleKNNHandleknnhandle (输入控制) class_knn → HClassKnn, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
k-NN 分类器的句柄。
FeaturesFeaturesFeaturesFeaturesfeaturesfeatures (输入控制) number-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Features that should be classified.
ResultResultResultResultresultresult (输出控制) number-array → HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)
The classification result, either class IDs or sample
indices.
RatingRatingRatingRatingratingrating (输出控制) number-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
A rating for the results. This value contains either a
distance, a frequency or a weighted frequency.
结果
如果参数有效,算子 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.
模块
基础