Beispiel: Big Data / Clustering

Dieses Programm analysiert Gerätedaten, um darauf basierend Rückschlüsse über den Zustand eines Rechner-Verbund-Systems ziehen zu können.
Es soll erkannt werden, ob sich eine kritische Situation bildet, die zu Problemen des Systems führen kann.

Hierzu werden die Daten nach dem Einlesen aufbereitet und skaliert.
Zur Datenanalyse verwende ich ein neuronales Netzwerk des Typs SOM (Self-Organizing-Map).

Dabei werden logisch zusammenhängende Cluster evaluiert und in einer 2 dimensionalen Karte so dargestellt, dass Ähnlichkeiten der Cluster sich in der lokalen Nähe innerhalb der 2D Karte widerspiegeln.

Verschiedene Ansichten unterstützen die Analyse:

Ansicht "Sample Hits"

Die Ansicht "Sample Hits" zeigt, wie oft ein Datenvektor einem Neuron zugeordnet wurde.

Die Häufungspunkte geben Aufschluss darüber, in wie viele verschiedene Cluster die Daten eingeteilt werden konnten, wie die Verteilung der Daten ist und ob es z.B. Ausreißer gibt.

Ansicht "Neighbor Distances"

Die Ansicht "Neighbor Distances" gibt Aufschluss darüber, wie stark die Abgrenzungen der Cluster gegeneinander sind.

Ansichten "Weight Planes"

In den Ansichten "Weight Planes" sieht man für jeden zu analysierenden Parameter dessen Verbindungsstärke zu einem Neuron.
Ähnliche Verteilungen lassen darauf schließen, dass diese Parameter in einer engen Beziehung zueinander stehen.

Das Projekt wurde mit MS Visual Studio in C# realisiert.
Dabei wurde das Machine-Learning-Framework Accord.NET (ehem. AForge) verwendet.