close

In diesem Blog-Eintrag wird mit Hilfe von SQL Server Analysis Services (SSAS) eine Clustering Aufgabe vorgestellt. Der Fokus wird hier auf das Erstellen eines Modells auf Basis von Beispieldaten sowie die Evaluierung der Tool Funktionalität und Vorgehensweise gesetzt. Auf die detaillierte Interpretation der Daten und Ergebnisse wird verzichtet, da diese den Umfang sprengen würde.

Die Aufgabe besteht darin Muster im Stromverbrauch eines Haushalts zu erkennen. Für dieses Szenario erstellen wir Cluster anhand von Messwerten. Bei SSAS Data Mining stehen dazu zwei, von Microsoft optimierte, Algorithmen zur Verfügung.

  • k-Means
  • EM-Clustering

Datensatz

Der hier zur Demonstration verwendete Beispieldatensatz wurde vom UCI Machine Learning Repository entnommen und enthält Messungen zum Energieverbrauch eines Haushalts über 4 Jahre.

Die CSV Datei wurde mittels SSIS in eine Microsoft SQL Server Datenbank Tabelle geladen. Der Aufbau ist ident zur Original Datei, nur eine Id Spalte zum eindeutigen Referenzieren wurde hinzugefügt.

Modellerzeugung

Zum Aufbau des Data Mining Modells wird das SSAS Data Mining Projekt im Visual Studio verwendet. Damit dieses Projekttemplate zur Verfügung steht müssen die Visual Studio Data Tools installiert sein.

Im ersten Schritt ist eine Verbindung zur Datenquelle notwendig. Diese kann über das Kontextmenü des Ordners Data Sources hinzugefügt werden.

Der sich öffnende Wizard benötigt zuerst die Verbindungeinstellungen. Falls vorab noch nie eine Verbindung zur gewünschten Datenquelle hergestellt wurde ist diese nicht in der Liste verfügbar und muss über den New Button hinzugefügt werden.

Nach erfolgreichem Hinzufügen der Datenquelle wird nun eine View angelegt.

Die vorher definierte Datenquelle wird ausgewählt und alle verfügbaren Datenbankobjekte angezeigt. Alle benötigten Elemente werden mittels Rechtspfeil inkludiert. In diesem Fall die Tabelle Measurement.

Diese Data Source View ist nun die Basis für unsere Mining Structure welche wieder über das Kontextmenü im zugehörigen Ordner hinzugefügt werden kann.

In diesem Beispiel verzichten wir auf den Aufbau eines Cubes und greifen direkt auf die relationale Datenbank zu.

Als Mining Model wird nun Microsoft Clustering ausgewählt.

Die zuvor definierte Data Source View wird nun als Basis für das Modell verwendet.

Im nächsten Schritt wird der vorausgewählte Tabellen Typ Case verwendet.

Als Schlüssel fungiert die Id Spalte, die restlichen Spalten werden als Input definiert. Ausgenommen davon sind die Date und Time Spalte, welche eine weitere Aufbereitung benötigen würden. Beispielsweise könnte man hier Tag/Nacht, Wochentage, Jahreszeiten als Merkmale extrahieren. Dadurch, dass wir hier an der Analyse vorhandener Daten interessiert sind und nicht angedacht ist neue Datensätze zu verarbeiten sind keine Spalten zur Vorhersage ausgewählt.

Inhalt- und Datentyp werden automatisch erkannt und können bei Bedarf abgeändert/korrigiert werden.

Durch den Verzicht auf die Vorhersage von Spalten ist ein Testdatensatz überflüssig und der Prozentanteil kann auf 0 gesetzt werden.

Im abschließenden Schritt kann neben den Benennungen auch der drill through aktiviert werden. Ist dieser aktiviert ist es möglich die enthaltenen Datensätze der erzeugten Cluster anzuzeigen.

Nach dem Erstellen der Mining Structure findet die Verarbeitung statt.

Danach kann das Mining Model im Tab Mining Model Viewer betrachtet werden.

Einen Überblick der Cluster bietet der Tab Cluster Diagram. Je größer die Anzahl der Datensätze im Cluster desto intensiver ist die Hintergrundfarbe. Auch die Stärke der Verbindungen zwischen den Clustern (Ähnlichkeiten bestimmter Merkmale) ist visuell durch die Dicke der Linien sichtbar.

Wie erwähnt ist ein Drill Through einzelner Cluster möglich, wenn dieser zuvor aktiviert wurde.

Die Wertebereiche der einzelnen Attribute können im Cluster Profil analysiert werden.

Hier sind Mittelwert und Standardabweichung visuell aufbereitet und die exakten Werte können über Tooltip angezeigt werden.

Die Legende, welche über das Kontextmenü erreichbar ist, bietet zusätzlich noch den minimalen und maximalen Wert der Visualisierung. Außerdem werden die Wertebereiche aller Attribute zusammengefasst.

Im Cluster Characteristics Tab sind die aussagekräftigsten Wertebereiche eines bestimmten Clusters verfügbar.

Der letzte Tab Cluster Discrimination bietet die Möglichkeit Charakteristiken zweier Cluster zu vergleichen. Hierbei kann ermittelt werden mit welcher Wahrscheinlichkeit ein Datensatz, dessen Attribut in einem bestimmten Wertebereich liegt, einen der beiden Cluster präferiert.

Das Modell kann mithilfe von Parametern optimiert werden. Dazu muss man den Eintrag Microsoft_Clustering auswählen.

Dann können im Properties Fenster unter AlghorithmParameters zusätzliche Konfigurationen vorgenommen werden.

Die möglichen Werte und deren Bedeutung sind in der Beschreibung zu finden.

Evaluierung

Der große Vorteil von SSAS Data Mining ist, dass keine Programmierkenntnisse notwendig sind. Weiters bietet die standardmäßige visuelle Aufbereitung einen guten Einstiegspunkt zur Interpretation der Ergebnisse. Die Anzahl an unterstützten Clustering Algorithmen ist jedoch begrenzt. Außerdem ist die genaue Implementierung der Algorithmen nicht bekannt. Dies hat zur Folge, dass es schwierig sein kann das Modell für gewisse Anwendungsfälle zu optimieren.

Weiterführende Links

SSAS Data Mining Algorithmen – Detaillierte Information über Funktion und Konfiguration

https://docs.microsoft.com/en-us/sql/analysis-services/data-mining/microsoft-clustering-algorithm-technical-reference?view=sql-server-2017

UCI Machine Learning – Energieverbrauch eines Haushalts über 4 Jahre

https://archive.ics.uci.edu/ml/datasets/Individual+household+electric+power+consumption

Visual Studio Data Tools

https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt?view=sql-server-2017

Tags : ClusteringData MiningMeasurementSSAS
Herbert Pataky

The author Herbert Pataky

Herbert Pataky schloss sein Studium im Bereich Software Engineering für Business und Finanz an der FH Hagenberg 2005 mit Auszeichnung ab. Bereits während des Studiums entwickelte Herr Pataky für mittelständische Kunden Individualsoftware zur Optimierung von Geschäftsprozessen und beschäftigte sich eingehend mit verteilten Software Architekturen. Sein berufsbegleitendes Studium Information Engineering und Management an der FH Hagenberg schloss Herr Pataky im Jahr 2008 ebenfalls mit Auszeichnung ab. Herr Pataky ist Spezialist in den Bereichen Business Analytics, Software Solutions und IT Consulting wo er seit mehr als 15 Jahren gemeinsam mit seinem Team sehr erfolgreich Mittelstands- und Großkunden aus dem Automotive-Bereich und Anlagenbau betreut. Er weist profundes Prozessverständnis in der Automobil-Industrie auf und ist Experte in den Bereichen Data Warehouse und Big Data Analytics im Microsoft Umfeld. Herbert ist Gründer & Eigentümer des Unternehmens PASO Solutions.

Leave a Response