Principal Component Analysis

Die Principal Component Analysis (PCA) berechnet sogenannte principal components, mit deren Hilfe man das Koordinatensystem eines gegebenen Datensatzes so drehen kann, dass entlang der neuen Hauptachsen die Varianz der Daten, d. h. deren Informationsgehalt, maximiert wird. Die Kovarianzmatrix der transformierten Daten wird diagonalisiert und die Reihenfolge der Hauptkomponenten wird so sortiert, dass die erste Hauptkomponente den größten Informationsanteil des Datensatzes, die zweite dann den zweitgrößten Informationsanteil usw. trägt.

Die letzteren Hauptkomponenten tragen oft nur noch wenig Information zum Datensatz bei, was dazu führt, dass man diese ignorieren kann. Dadurch reduziert sich der Parameterraum bei möglichst wenig Informationsverlust (Dimensionsreduktion). Die Dimensionsreduktion mit PCA wird häufig als Vorverarbeitung vor der Clusteranalyse oder einer Klassifikation eingesetzt. Ebenso kann die PCA zur Anomaly detection eingesetzte werden, indem ein großer Raum auf wenige Hauptkomponenten reduziert wird und „von Hand“ Grenzwerte für die wichtigen Hauptkomponenten ermittelt werden.

Unterstützte Eigenschaften

ONNX-Support

Unterstützte ONNX-Operatoren:

Ein Beispiel, wie eine PCA zur Dimensionsreduktion aus Scikit-learn exportiert und in TwinCAT eingesetzt werden kann, finden Sie hier: ONNX-Export einer PCA.

Unterstützte Datentypen

Es ist zu unterscheiden zwischen „supported datatype“ und „preferred datatype“. Der preferred datatype entspricht der Präzision der Ausführungs-Engine.

Der preferred datatype ist floating point 64 (E_MLLDT_FP64-LREAL).

Bei Verwendung eines supported datatype wird eine effiziente Typ-Konvertierung automatisch in der Bibliothek durchgeführt. Durch die Typ-Konvertierung kann es zu minimalen Performance-Einbußen kommen.

Eine Liste der supported datatypes finden Sie unter ETcMllDataType.