classify_class_knnT_classify_class_knnClassifyClassKnnClassifyClassKnn (Operator)

Name

classify_class_knnT_classify_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)

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)

Beschreibung

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

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

'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" Vektoren in ResultResultResultResultresult zurückgegeben und deren Distanz zum Merkmalsvektor in RatingRatingRatingRatingrating. 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" 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" zu finden.

'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" Vektoren zurückgegeben. Die relative Häufigkeit wird in RatingRatingRatingRatingrating zurückgegeben. Es werden maximal '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":

Ist diese Option gewählt, werden die häufigsten Klassen unter den nächsten '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 RatingRatingRatingRatingrating 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" Werte zurückgegeben.

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

Ist diese Option gewählt, werden die nächsten 'k'"k""k""k""k" Nachbarn in ResultResultResultResultresult und deren Distanzen in RatingRatingRatingRatingrating zurückgegeben. Der Wert von '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_knnClassifyClassKnnClassifyClassKnnClassifyClassKnn die Klasse und Distanz des nächsten Beispiels zurück (entspricht 'classes_distance'"classes_distance""classes_distance""classes_distance""classes_distance").

Ausführungsinformationen

Parameter

KNNHandleKNNHandleKNNHandleKNNHandleKNNHandle (input_control)  class_knn HClassKnn, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des k-NN-Klassifikators.

FeaturesFeaturesFeaturesFeaturesfeatures (input_control)  number-array HTupleHTupleHtuple (real) (double) (double) (double)

Merkmalsvektor der klassifiziert werden soll.

ResultResultResultResultresult (output_control)  number-array HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Ergebnisse der Klassifikation, entweder als Klassen oder Indizes.

RatingRatingRatingRatingrating (output_control)  number-array HTupleHTupleHtuple (real) (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_knnClassifyClassKnnClassifyClassKnnClassifyClassKnn den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnn, read_class_knnread_class_knnReadClassKnnReadClassKnnReadClassKnn, set_params_class_knnset_params_class_knnSetParamsClassKnnSetParamsClassKnnSetParamsClassKnn

Nachfolger

clear_class_knnclear_class_knnClearClassKnnClearClassKnnClearClassKnn

Siehe auch

create_class_knncreate_class_knnCreateClassKnnCreateClassKnnCreateClassKnn, read_class_knnread_class_knnReadClassKnnReadClassKnnReadClassKnn

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