set_params_class_knn
— Setzt die Klassifikationsparameter eines k-NN-Klassifikators.
set_params_class_knn( : : KNNHandle, GenParamName, GenParamValue : )
set_params_class_knn
setzt die Parameter der Klassifikation
für den k-NN-Klassifikators KNNHandle
.
Das Setzen der Parameter beeinflusst die Ergebnisse und Verhalten von
classify_class_knn
.
Mithilfe von set_params_class_knn
können sowohl die Anzahl
'k' der verwendeten Nachbarn, als auch weitere Parameter,
mit Hilfe von GenParamName
und GenParamValue
eingestellt werden.
Das Erhöhen des Wertes für 'k' erhöht die Genauigkeit der
Ergebnisse, führt allerdings zu längeren Laufzeiten.
Mit der Auswahl der Methode 'method' und
'max_num_classes' können verschiedene Ergebnistypen für
classify_class_knn
ausgewählt werden:
Ist diese Option gewählt, werden die Klassen der nächsten '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' Werte zurückgegeben. In einem k-NN besteht keine effiziente Möglichkeit exakt 'max_num_classes' Klassen zu finden.
Ist diese Option gewählt, werden die häufigsten Klassen unter den nächsten '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' .
Ist diese Option gewählt, werden die häufigsten Klassen unter den nächsten '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' .
Ist diese Option gewählt, werden die nächsten 'k' Nachbarn und deren Distanzen zurückgegeben. Der Wert von 'max_num_classes' wird hierbei ignoriert.
Der Standardrückgabemethode ist 'classes_distance' .
Zusätzlich können noch die Anzahl an Versuchen das Ergebnis zu verbessern mit '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' 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.
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.
KNNHandle
(input_control, Zustand wird modifiziert) class_knn →
(handle)
Handle eines k-NN-Klassifikators.
GenParamName
(input_control) string-array →
(string)
Namen der generischen Parameter des k-NN-Klassifikators.
Defaultwert: ['method','k','max_num_classes']
Werteliste: 'epsilon' , 'k' , 'max_num_classes' , 'method' , 'num_checks'
GenParamValue
(input_control) number-array →
(integer / real / string)
Werte der generischen Parameter des k-NN-Klassifikators.
Defaultwert: ['classes_distance',5,1]
Wertevorschläge: 'classes_distance' , 'classes_frequency' , 'classes_weighted_frequencies' , 'neighbors_distance' , 32, 0.0, 0.02, 0, 1, 2, 3, 4, 5, 6
Sind die Parameterwerte korrekt, dann liefert
set_params_class_knn
den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird
eine Fehlerbehandlung durchgeführt.
train_class_knn
,
read_class_knn
create_class_knn
,
read_class_knn
,
get_params_class_knn
Marius Muja, David G. Lowe: „Fast Approximate Nearest Neighbors with Automatic Algorithm Configuration“; International Conference on Computer Vision Theory and Applications (VISAPP 09); 2009.
Foundation