set_params_class_knnT_set_params_class_knnSetParamsClassKnnSetParamsClassKnn (Operator)

Name

set_params_class_knnT_set_params_class_knnSetParamsClassKnnSetParamsClassKnn — Setzt die Klassifikationsparameter eines k-NN-Klassifikators.

Signatur

set_params_class_knn( : : KNNHandle, GenParamName, GenParamValue : )

Herror T_set_params_class_knn(const Htuple KNNHandle, const Htuple GenParamName, const Htuple GenParamValue)

void SetParamsClassKnn(const HTuple& KNNHandle, const HTuple& GenParamName, const HTuple& GenParamValue)

void HClassKnn::SetParamsClassKnn(const HTuple& GenParamName, const HTuple& GenParamValue) const

static void HOperatorSet.SetParamsClassKnn(HTuple KNNHandle, HTuple genParamName, HTuple genParamValue)

void HClassKnn.SetParamsClassKnn(HTuple genParamName, HTuple genParamValue)

Beschreibung

set_params_class_knnset_params_class_knnSetParamsClassKnnSetParamsClassKnnSetParamsClassKnn setzt die Parameter der Klassifikation für den k-NN-Klassifikators KNNHandleKNNHandleKNNHandleKNNHandleKNNHandle. Das Setzen der Parameter beeinflusst die Ergebnisse und Verhalten von classify_class_knnclassify_class_knnClassifyClassKnnClassifyClassKnnClassifyClassKnn.

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, mit Hilfe von GenParamNameGenParamNameGenParamNameGenParamNamegenParamName und GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue eingestellt werden. Das Erhöhen des Wertes für 'k'"k""k""k""k" erhöht die Genauigkeit der Ergebnisse, führt allerdings zu längeren Laufzeiten. 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" 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 zurückgegeben und deren Distanz zum Merkmalsvektor. 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" Klassen 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 jeweilige relative Häufigkeit der Klassen wird als Bewertung mit zurückgegeben. Die Anzahl der Rückgabewerte ist maximal 'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes".

'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 jeweilige gewichtete Häufigkeit wird als Bewertung als Zahl zwischen 0.0 und 1.0 mit zurückgegeben. Die Anzahl der Rückgabewerte ist maximal 'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes".

'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 und deren Distanzen zurückgegeben. Der Wert von 'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes" wird hierbei ignoriert.

Der Standardrückgabemethode ist 'classes_distance'"classes_distance""classes_distance""classes_distance""classes_distance".

Zusätzlich können noch die Anzahl an Versuchen das Ergebnis zu verbessern mit 'num_checks'"num_checks""num_checks""num_checks""num_checks" eingestellt werden: Der Parameter muss positiv sein und der Standardwert ist 32. Eine Erhöhung führt zu genaueren Ergebnissen bei höherer Laufzeit. Das Setzen des Wertes auf 0 führt zu einer exakten Suche.

Zusätzlich kann noch mit 'epsilon'"epsilon""epsilon""epsilon""epsilon" ein Abbruchkriterium aktiviert werden, indem der Wert über den Standardwert 0.0 angehoben wird. Das führt unter Umständen zu schnelleren Ergebnissen, bei höherem Risiko, nicht den exakten nächsten Nachbarn zu finden.

Ausführungsinformationen

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.

Parameter

KNNHandleKNNHandleKNNHandleKNNHandleKNNHandle (input_control, Zustand wird modifiziert)  class_knn HClassKnn, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle eines k-NN-Klassifikators.

GenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  string-array HTupleHTupleHtuple (string) (string) (HString) (char*)

Namen der generischen Parameter des k-NN-Klassifikators.

Defaultwert: ['method','k','max_num_classes'] ["method","k","max_num_classes"] ["method","k","max_num_classes"] ["method","k","max_num_classes"] ["method","k","max_num_classes"]

Werteliste: 'epsilon'"epsilon""epsilon""epsilon""epsilon", 'k'"k""k""k""k", 'max_num_classes'"max_num_classes""max_num_classes""max_num_classes""max_num_classes", 'method'"method""method""method""method", 'num_checks'"num_checks""num_checks""num_checks""num_checks"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  number-array HTupleHTupleHtuple (integer / real / string) (int / long / double / string) (Hlong / double / HString) (Hlong / double / char*)

Werte der generischen Parameter des k-NN-Klassifikators.

Defaultwert: ['classes_distance',5,1] ["classes_distance",5,1] ["classes_distance",5,1] ["classes_distance",5,1] ["classes_distance",5,1]

Wertevorschläge: 'classes_distance'"classes_distance""classes_distance""classes_distance""classes_distance", 'classes_frequency'"classes_frequency""classes_frequency""classes_frequency""classes_frequency", 'classes_weighted_frequencies'"classes_weighted_frequencies""classes_weighted_frequencies""classes_weighted_frequencies""classes_weighted_frequencies", 'neighbors_distance'"neighbors_distance""neighbors_distance""neighbors_distance""neighbors_distance", 32, 0.0, 0.02, 0, 1, 2, 3, 4, 5, 6

Ergebnis

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

Vorgänger

train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnn, read_class_knnread_class_knnReadClassKnnReadClassKnnReadClassKnn

Nachfolger

classify_class_knnclassify_class_knnClassifyClassKnnClassifyClassKnnClassifyClassKnn

Siehe auch

create_class_knncreate_class_knnCreateClassKnnCreateClassKnnCreateClassKnn, read_class_knnread_class_knnReadClassKnnReadClassKnnReadClassKnn, get_params_class_knnget_params_class_knnGetParamsClassKnnGetParamsClassKnnGetParamsClassKnn

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