F_VN_CreateKnnModel
Create a k-nearest neighbors model of the specified type. The initial reference count is set to one if a new model is created and kept, otherwise. Models of this type support on-line training (sample by sample) and retraining. Predictions can only be scalar.
Syntax
Definition:
FUNCTION F_VN_CreateKnnModel : HRESULT
VAR_INPUT
ipMlModel : Reference To ITcVnMlModel;
eKnnType : ETcVnKnn;
nK : UDINT;
hrPrev : HRESULT;
END_VAR
Inputs
Name |
Type |
Description |
---|---|---|
ipMlModel |
Reference To ITcVnMlModel |
Returns the created model (Non-zero interface pointers are reused.) |
eKnnType |
k-nearest neighbors model type | |
nK |
UDINT |
Parameter k used for prediction (number of considered neighbors) |
hrPrev |
HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
Weiterführende Informationen
Die Funktion F_VN_CreateKnnModel
erstellt ein K-Nearest-Neighbor (KNN) Modell.
K-Nearest-Neighbor-Modelle
Beim Training von K-Nearest-Neighbor-Modellen werden alle Trainingssamples 1:1 im Modell gespeichert. Zum Verständnis hilft die Vorstellung der Datenpunkte innerhalb eines mehrdimensionalen Raums (entsprechend der Dimensionalität der Samples). Für die Prädiktion wird eine Anzahl nK
von Datenpunkten genutzt, die dem Eingangssample am nächsten sind (euklidische Distanz). Diese Datenpunkte werden „nächste Nachbarn“ genannt. Alle anderen Datenpunkte werden bei der Prädiktion ignoriert. Das Prädiktionsergebnis wird aus allen nächsten Nachbarn berechnet, wobei diese unabhängig von der tatsächlichen Distanz zum Eingangssample gleich gewichtet sind.
Parameter
Modell
In dem Interface Pointer ipMlModel
wird das erstellte Modell zurückgegeben.
Modell-Typ
eKnnType
gibt an, ob das Modell als Klassifikator (TCVN_KNN_CLASSIFIER
), als Anomalie-Detektion (TCVN_KNN_NOVELTY_DETECTOR
) oder als Regressor (TCVN_KNN_REGRESSOR
) genutzt wird.
Anzahl genutzter Nachbarn
nK
gibt an, wie viele Datenpunkte bei der Prädiktion als nächste Nachbarn genutzt werden. Für die Anomalie-Detektion ist nK
irrelevant, weil dabei nur der eine nächste Nachbar benötigt wird. Daher sollte in diesem Fall der Wert 1 verwendet werden.
Anwendung
Ein K-Nearest-Neighbor-Modell für die Klassifikation mittels 5 nächster Nachbarn wird z.B. so erstellt:
hr := F_VN_CreateKnnModel(
ipMlModel := ipMlModel,
eKnnType := TCVN_KNN_CLASSIFIER,
nK := 5,
hrPrev := hr);
Required License
TC3 Vision Machine Learning
System Requirements
Development environment | Target platform | PLC libraries to include |
---|---|---|
TwinCAT V3.1.4024.59 or later | PC or CX (x64) with PL50, e.g. Intel 4-core Atom CPU | Tc3_Vision |