classify_class_knnT_classify_class_knnClassifyClassKnnClassifyClassKnnclassify_class_knn (Operator)

Name

classify_class_knnT_classify_class_knnClassifyClassKnnClassifyClassKnnclassify_class_knn — 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)

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

Beschreibung

classify_class_knnclassify_class_knnClassifyClassKnnClassifyClassKnnClassifyClassKnnclassify_class_knn 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_knnSetParamsClassKnnSetParamsClassKnnSetParamsClassKnnset_params_class_knn 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_knnClassifyClassKnnClassifyClassKnnClassifyClassKnnclassify_class_knn 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_knnSetParamsClassKnnSetParamsClassKnnSetParamsClassKnnset_params_class_knn können verschiedene Ergebnistypen für classify_class_knnclassify_class_knnClassifyClassKnnClassifyClassKnnClassifyClassKnnclassify_class_knn 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_knnClassifyClassKnnClassifyClassKnnClassifyClassKnnclassify_class_knn die Klasse und Distanz des nächsten Beispiels zurück (entspricht 'classes_distance'"classes_distance""classes_distance""classes_distance""classes_distance""classes_distance").

Ausführungsinformationen

Parameter

KNNHandleKNNHandleKNNHandleKNNHandleKNNHandleknnhandle (input_control)  class_knn HClassKnn, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des k-NN-Klassifikators.

FeaturesFeaturesFeaturesFeaturesfeaturesfeatures (input_control)  number-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Merkmalsvektor der klassifiziert werden soll.

ResultResultResultResultresultresult (output_control)  number-array HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Ergebnisse der Klassifikation, entweder als Klassen oder Indizes.

RatingRatingRatingRatingratingrating (output_control)  number-array HTupleSequence[float]HTupleHtuple (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_knnClassifyClassKnnClassifyClassKnnClassifyClassKnnclassify_class_knn den Wert TRUE. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn, read_class_knnread_class_knnReadClassKnnReadClassKnnReadClassKnnread_class_knn, set_params_class_knnset_params_class_knnSetParamsClassKnnSetParamsClassKnnSetParamsClassKnnset_params_class_knn

Nachfolger

clear_class_knnclear_class_knnClearClassKnnClearClassKnnClearClassKnnclear_class_knn

Siehe auch

create_class_knncreate_class_knnCreateClassKnnCreateClassKnnCreateClassKnncreate_class_knn, read_class_knnread_class_knnReadClassKnnReadClassKnnReadClassKnnread_class_knn

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