KlassenKlassenKlassenKlassen | | | | Operatoren

classify_class_knnT_classify_class_knnClassifyClassKnnclassify_class_knnClassifyClassKnnClassifyClassKnn (Operator)

Name

classify_class_knnT_classify_class_knnClassifyClassKnnclassify_class_knnClassifyClassKnnClassifyClassKnn — Sucht nach den nächsten Nachbarn eines gegebenen Merkmalsvektors.

Signatur

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

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

Herror classify_class_knn(const HTuple& KNNHandle, const HTuple& Features, HTuple* Result, HTuple* Rating)

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

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

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

void HOperatorSetX.ClassifyClassKnn(
[in] VARIANT KNNHandle, [in] VARIANT Features, [out] VARIANT* Result, [out] VARIANT* Rating)

VARIANT HClassKnnX.ClassifyClassKnn(
[in] VARIANT Features, [out] VARIANT* Rating)

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

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

Beschreibung

classify_class_knnclassify_class_knnClassifyClassKnnclassify_class_knnClassifyClassKnnClassifyClassKnn sucht die nächsten 'k'"k""k""k""k""k" Nachbarn zu dem gegebenen Merkmalsvektor in FeaturesFeaturesFeaturesFeaturesFeaturesfeatures. Die Nachbarschaft wird mit Hilfe der L2-Norm zwischen dem gegebenen Merkmalsvektors und den Trainingsbeispielen ermittelt.

Mithilfe von set_params_class_knnset_params_class_knnSetParamsClassKnnset_params_class_knnSetParamsClassKnnSetParamsClassKnn können sowohl die Anzahl 'k'"k""k""k""k""k" der verwendeten Nachbarn, als auch weitere Parameter, die das Verhalten von classify_class_knnclassify_class_knnClassifyClassKnnclassify_class_knnClassifyClassKnnClassifyClassKnn steuern, eingestellt werden. Mit der Auswahl der Methode 'method'"method""method""method""method""method" und 'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes""max_num_classes" in set_params_class_knnset_params_class_knnSetParamsClassKnnset_params_class_knnSetParamsClassKnnSetParamsClassKnn können verschiedene Ergebnistypen für classify_class_knnclassify_class_knnClassifyClassKnnclassify_class_knnClassifyClassKnnClassifyClassKnn ausgewählt werden:

'classes_distance'"classes_distance""classes_distance""classes_distance""classes_distance""classes_distance":

Ist diese Option gewählt, werden die Klassen der nächsten 'k'"k""k""k""k""k" Vektoren in ResultResultResultResultResultresult zurückgegeben und deren Distanz zum Merkmalsvektor in RatingRatingRatingRatingRatingrating. Es wird allerdings nur das nächste Beispiel für eine Klasse verwendet, und es werden maximal 'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes""max_num_classes" Werte zurückgegeben. In einem k-NN besteht keine effiziente Möglichkeit exakt 'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes""max_num_classes" zu finden.

'classes_frequency'"classes_frequency""classes_frequency""classes_frequency""classes_frequency""classes_frequency":

Ist diese Option gewählt, werden die häufigsten Klassen unter den nächsten 'k'"k""k""k""k""k" Vektoren zurückgegeben. Die relative Häufigkeit wird in RatingRatingRatingRatingRatingrating zurückgegeben. Es werden maximal 'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes""max_num_classes" Werte zurückgegeben.

'classes_weighted_frequency'"classes_weighted_frequency""classes_weighted_frequency""classes_weighted_frequency""classes_weighted_frequency""classes_weighted_frequency":

Ist diese Option gewählt, werden die häufigsten Klassen unter den nächsten 'k'"k""k""k""k""k" Vektoren zurückgegeben allerdings sortiert nach der Häufigkeit gewichtet mit der jeweiligen Distanz zum Merkmalsvektor. Die gewichtete Häufigkeit wird in RatingRatingRatingRatingRatingrating zurückgegeben als Zahl zwischen 0.0 und 1.0. Es werden maximal 'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes""max_num_classes" Werte zurückgegeben.

'neighbors_distance'"neighbors_distance""neighbors_distance""neighbors_distance""neighbors_distance""neighbors_distance":

Ist diese Option gewählt, werden die nächsten 'k'"k""k""k""k""k" Nachbarn in ResultResultResultResultResultresult und deren Distanzen in RatingRatingRatingRatingRatingrating zurückgegeben. Der Wert von 'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes""max_num_classes" wird hierbei ignoriert.

Im Standardfall gibt classify_class_knnclassify_class_knnClassifyClassKnnclassify_class_knnClassifyClassKnnClassifyClassKnn die Klasse und Distanz des nächsten Beispiels zurück (entspricht 'classes_distance'"classes_distance""classes_distance""classes_distance""classes_distance""classes_distance").

Parallelisierung

Parameter

KNNHandleKNNHandleKNNHandleKNNHandleKNNHandleKNNHandle (input_control)  class_knn HClassKnn, HTupleHTupleHClassKnn, HTupleHClassKnnX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle des k-NN-Klassifikators.

FeaturesFeaturesFeaturesFeaturesFeaturesfeatures (input_control)  number-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Merkmalsvektor der klassifiziert werden soll.

ResultResultResultResultResultresult (output_control)  number-array HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Ergebnisse der Klassifikation, entweder als Klassen oder Indizes.

RatingRatingRatingRatingRatingrating (output_control)  number-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Bewertung der Ergebnisse, entweder als Distanzen oder als relative oder gewichtete Häufigkeiten.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert classify_class_knnclassify_class_knnClassifyClassKnnclassify_class_knnClassifyClassKnnClassifyClassKnn den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

train_class_knntrain_class_knnTrainClassKnntrain_class_knnTrainClassKnnTrainClassKnn, read_class_knnread_class_knnReadClassKnnread_class_knnReadClassKnnReadClassKnn, set_params_class_knnset_params_class_knnSetParamsClassKnnset_params_class_knnSetParamsClassKnnSetParamsClassKnn

Nachfolger

clear_class_knnclear_class_knnClearClassKnnclear_class_knnClearClassKnnClearClassKnn

Siehe auch

create_class_knncreate_class_knnCreateClassKnncreate_class_knnCreateClassKnnCreateClassKnn, read_class_knnread_class_knnReadClassKnnread_class_knnReadClassKnnReadClassKnn

Literatur

Marius Muja, David G. Lowe: „Fast Approximate Nearest Neighbors with Automatic Algorithm Configuration“; International Conference on Computer Vision Theory and Applications (VISAPP 09); 2009.

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren