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
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
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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