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