set_params_class_knnT_set_params_class_knnSetParamsClassKnnSetParamsClassKnnset_params_class_knn (Operator)

Name

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

def set_params_class_knn(knnhandle: HHandle, gen_param_name: Sequence[str], gen_param_value: Sequence[Union[int, float, str]]) -> None

Beschreibung

set_params_class_knnset_params_class_knnSetParamsClassKnnSetParamsClassKnnSetParamsClassKnnset_params_class_knn setzt die Parameter der Klassifikation für den k-NN-Klassifikators KNNHandleKNNHandleKNNHandleKNNHandleKNNHandleknnhandle. Das Setzen der Parameter beeinflusst die Ergebnisse und Verhalten von classify_class_knnclassify_class_knnClassifyClassKnnClassifyClassKnnClassifyClassKnnclassify_class_knn.

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, mit Hilfe von GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name und GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value eingestellt werden. Das Erhöhen des Wertes für 'k'"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""method" und 'max_num_classes'"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_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 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""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" Klassen 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 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""max_num_classes".

'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 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""max_num_classes".

'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 und deren Distanzen 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.

Der Standardrückgabemethode ist 'classes_distance'"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""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""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

KNNHandleKNNHandleKNNHandleKNNHandleKNNHandleknnhandle (input_control, Zustand wird modifiziert)  class_knn HClassKnn, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle eines k-NN-Klassifikators.

GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control)  string-array HTupleSequence[str]HTupleHtuple (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"] ["method","k","max_num_classes"]

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

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (input_control)  number-array HTupleSequence[Union[int, float, str]]HTupleHtuple (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] ["classes_distance",5,1]

Wertevorschläge: 'classes_distance'"classes_distance""classes_distance""classes_distance""classes_distance""classes_distance", 'classes_frequency'"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""classes_weighted_frequencies", 'neighbors_distance'"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_knnSetParamsClassKnnSetParamsClassKnnSetParamsClassKnnset_params_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

Nachfolger

classify_class_knnclassify_class_knnClassifyClassKnnClassifyClassKnnClassifyClassKnnclassify_class_knn

Siehe auch

create_class_knncreate_class_knnCreateClassKnnCreateClassKnnCreateClassKnncreate_class_knn, read_class_knnread_class_knnReadClassKnnReadClassKnnReadClassKnnread_class_knn, get_params_class_knnget_params_class_knnGetParamsClassKnnGetParamsClassKnnGetParamsClassKnnget_params_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