train_class_knnT_train_class_knnTrainClassKnnTrainClassKnntrain_class_knn (Operator)

Name

train_class_knnT_train_class_knnTrainClassKnnTrainClassKnntrain_class_knn — Erstellt die Suchbäume eines k-NN-Klassifikators.

Signatur

train_class_knn( : : KNNHandle, GenParamName, GenParamValue : )

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

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

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

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

void HClassKnn.TrainClassKnn(HTuple genParamName, HTuple genParamValue)

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

Beschreibung

train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn erstellt die Suchbäume eines k-Nearest-Neighbor-Klassifikators.

Die Anzahl der Suchbäume kann in den generischen Parametern GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name und GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value über 'num_trees'"num_trees""num_trees""num_trees""num_trees""num_trees" festgelegt werden. Der Standardwert ist hierbei 4, welcher üblicherweise zu ausreichend guten Ergebnissen führt. Eine höhere Anzahl der Bäume führt zu längeren Laufzeiten und zu höherem Speicherverbrauch, aber zu tendenziell genaueren Ergebnissen, speziell bei höheren Dimensionen der Merkmalsvektoren.

Nach einem erfolgten Training können weitere Daten mit dem Operator add_sample_class_knnadd_sample_class_knnAddSampleClassKnnAddSampleClassKnnAddSampleClassKnnadd_sample_class_knn hinzugefügt werden. Die neu hinzugefügten Daten beeinflussen die Klassifikation erst, wenn train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn erneut aufgerufen wurde.

Die automatische Merkmals-Normalisierung kann aktiviert werden, indem der Eingabeparameter GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name den Wert 'normalization'"normalization""normalization""normalization""normalization""normalization" und GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value an gleicher Stelle 'true'"true""true""true""true""true" enthält. Die Merkmalsvektoren werden in jeder Dimension einzeln normalisiert. Für jede Dimension wird der Mittelwert und die Standardabweichung anhand der übermittelten Trainingsdaten ermittelt. Alle Merkmalsvektoren werden dann dadurch normalisiert, dass in jeder Dimension der Mittelwert abgezogen und durch die Standardabweichung geteilt wird. Solch eine Normalisierung bewirkt, dass die Merkmalsvektoren einen Mittelwert von Null und eine Varianz von 1 nach der Normalisierung besitzen. Falls die Standardabweichung in einer Dimension den Wert Null aufweisen sollte, so wird nur der Mittelwert abgezogen und nicht durch Null dividiert. Man beachte, dass eine Standardabweichung von Null in einer Dimension bedeutet, dass diese Dimension zu dem Klassifikator keine relevante Information beisteuert und man diese Dimension weglassen könnte. Die Automatische Merkmals-Normalisierung bewirkt, dass die gespeicherten Trainingsdaten verändert werden. Diese Veränderungen lassen sich aber ohne Verluste rückgängig machen, indem der Operator train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn erneut aufgerufen wird, wobei 'normalization' auf 'false' gesetzt werden muss. Falls Normalisierung eingesetzt wird, interpretiert der Operator classify_class_knnclassify_class_knnClassifyClassKnnClassifyClassKnnClassifyClassKnnclassify_class_knn die ihm übergebenen Merkmalsvektoren als nicht normalisiert und es wird intern eine Normalisierung durchgeführt, die durch den letzten Aufruf von train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn definiert ist.

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 des k-NN-Klassifikators.

GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control)  string-array HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Namen der generischen Parameter, die für das Training des k-NN-Klassifikators angepasst werden können.

Defaultwert: []

Werteliste: 'normalization'"normalization""normalization""normalization""normalization""normalization", 'num_trees'"num_trees""num_trees""num_trees""num_trees""num_trees"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (input_control)  number-array HTupleSequence[Union[int, str, float]]HTupleHtuple (integer / string / real) (int / long / string / double) (Hlong / HString / double) (Hlong / char* / double)

Werte der generischen Parameter, die für das Training des k-NN-Klassifikators angepasst werden können.

Defaultwert: []

Wertevorschläge: 4, 'false'"false""false""false""false""false", 'true'"true""true""true""true""true"

Ergebnis

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

Vorgänger

add_sample_class_knnadd_sample_class_knnAddSampleClassKnnAddSampleClassKnnAddSampleClassKnnadd_sample_class_knn, read_class_knnread_class_knnReadClassKnnReadClassKnnReadClassKnnread_class_knn

Alternativen

select_feature_set_knnselect_feature_set_knnSelectFeatureSetKnnSelectFeatureSetKnnSelectFeatureSetKnnselect_feature_set_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