Das Data Mining ist ein Prozess, bei dem mehrere Komponenten interagieren. Sie greifen auf Datenquellen in einer SQL Server-Datenbank oder auf eine beliebige andere Datenquelle zu, um diese zum Training, für Tests oder für Vorhersagen zu verwenden. Sie definieren Data Mining-Strukturen und -Modelle mithilfe von Business Intelligence Development Studio oder Visual Studio 2005. Sie können Data Mining-Objekte verwalten und Vorhersagen und Abfragen erstellen, indem Sie SQL Server Management Studio verwenden. Nachdem Sie die Lösung fertig gestellt haben, können Sie sie als Instanz von Analysis Services bereitstellen.
Um ein Data Mining-Projekt zu erstellen, müssen Sie Datenquellen, Data Mining-Strukturen und Data Mining-Modelle definieren. Das erstellte Data Mining-Projekt kann auch Testsätze zum Überprüfen des Modells enthalten. Nachdem Sie ein Projekt auf dem Server bereitgestellt haben, können Sie fortfahren, indem Sie in der Originallösung neue Modelle entwickeln und testen.
Data Mining-Quelldaten Sie müssen keinen Cube oder andere spezielle Datenquellen verwenden, um das Data Mining ausführen zu können. Sie können das Data Mining für relationale Datentabellen oder andere beliebige Datenquellen, die in Analysis Services als Datenquellensicht definiert wurden, schnell und einfach durchführen. Die Daten, die Sie beim Data Mining verwenden, werden nicht in der Data Mining-Lösung gespeichert. Es werden nur die Bindungen gespeichert. Die Daten können sich in einer Datenbank befinden, die in einer vorherigen Version von SQL Server erstellt wurde, oder in einem CRM-System oder sogar einer Flatfile. Mithilfe einer Analysis Services-Datenquellensicht können Sie verschiedene Datenquellen kombinieren, indem Sie Verknüpfungen zwischen mehreren Tabellen angeben. Sie können auch Tabellen hinzufügen, die eine n:1-Beziehung aufweisen, um geschachtelte Tabellenspalten zu erstellen.
Wenn Sie die Daten in der Data Mining-Lösung verwenden müssen, liest Analysis Services die Daten aus der Quelle aus und erzeugt einen Cache mit Aggregaten und anderen verwendeten Informationen. Sie können die zwischengespeicherten Informationen beibehalten und verwenden, um neue Data Mining-Modelle zu erstellen, oder Sie können sie löschen, um Speicherplatz zu sparen.
Sie haben die Möglichkeit, die Data Mining-Lösung fortlaufend mit neuen Daten zu aktualisieren, oder Sie können ein gut funktionierendes Modell bereitstellen und keine neuen Daten mehr hinzufügen.
Mithilfe von SQL Server 2008 Analysis Services können Sie die Daten auch in Trainings- und Testdatensätze unterteilen, damit Sie Ihre Data Mining-Modelle mit einem repräsentativen, zufä;llig ausgewählten Satz von Daten testen können.
Data Mining-Strukturen Eine Data Mining-Struktur ist eine logische Datenstruktur, die die Datendomäne definiert, aus der die Miningmodelle erstellt werden. Eine einzelne Miningstruktur kann mehrere Miningmodelle unterstützen, die dieselbe Domä;ne verwenden. Sie können die Data Mining-Struktur auch in einen Trainings- und Testsatz partitionieren, indem Sie einen Prozentsatz oder eine Menge von Daten als HOLDOUT angeben. Diese Partitionierung kann beim Definieren der Data Mining-Struktur automatisch durchgeführt werden.
Eine Data Mining-Struktur kann geschachtelte Tabellen enthalten. In einer geschachtelten Tabelle werden weitere Details zu dem Fall bereitgestellt, der in der primären Datentabelle modelliert ist.
Data Mining-Modelle Ein Data Mining-Modell umfasst eine Kombination von Daten, einen Data Mining-Algorithmus und eine Auflistung von Parameter- und Filtereinstellungen, die sich auf die verwendeten Daten und die Art der Verarbeitung auswirken.
Sie definieren ein Data Mining-Modell mithilfe der DMX-Sprache (Data Mining Extensions, Data Mining-Erweiterungen) oder mithilfe des Data Mining-Assistenten in BI Development Studio.
Nachdem Sie die Struktur des Miningmodells festgelegt haben, verarbeiten Sie das Modell, indem Sie die leere Struktur mit den Mustern auffüllen, die das Modell beschreiben. Dies wird auch als Trainieren des Modells bezeichnet. Muster werden gefunden, indem auf die Originaldaten ein mathematischer Algorithmus angewendet wird. Mithilfe von Parametern kann jeder Algorithmus angepasst werden.
Beim Erstellen neuer Data Mining-Modelle testen Sie diese iterativ, indem Sie Vorhersagen erstellen, und nehmen dann Änderungen vor, um die Ergebnisse zu optimieren. Eine Änderung kann z. B. das Hinzufügen zusä;tzlicher Daten oder das Ändern der Parameter des Modells sein, um eine bessere Datenanpassung zu erzielen.
Bereitstellung Das Ziel besteht bei der Data Mining-Entwicklung letztlich darin, ein Modell zu erstellen, das von Endbenutzern und Analysten zum Erstellen von Vorhersagen und Durchführen von eingehenden Analysen verwendet werden kann. Wenn Sie mit den Ergebnissen zufrieden sind, die ein Modell erzeugt, sollten Sie das Modell daher in einer Produktionsumgebung bereitstellen. In der Produktionsumgebung können die Miningmodelle je nach Ihren Anforderungen verschiedene Zwecke erfüllen. Die folgende Tabelle enthält einige Beispiele für Aufgaben, die Sie mit einem Data Mining-Modell ausführen können:
Die Modellaktualisierung ist Teil der Bereitstellungsstrategie. Mit wachsendem Datenbestand des Unternehmens müssen Sie die Modelle neu verarbeiten, um auf diese Weise die Effizienz zu optimieren.
In SQL Server 2008 Analysis Services (SSAS) müssen einem Data Mining-Algorithmus Daten in Form einer Reihe von Fällen zugeführt werden, die in einer Falltabelle enthalten sind. Nicht alle Fä;lle lassen sich jedoch durch eine einzelne Datenzeile beschreiben. So kann sich ein Fall z. B. aus zwei Tabellen ableiten: einer Tabelle mit Kundeninformationen und einer anderen Tabelle mit den von Kunden getätigten Kä;ufen. Ein einzelner Kunde in der Tabelle mit Kundeninformationen ist möglicherweise mit mehreren Elementen in der Tabelle mit den von Kunden getätigten Käufen vertreten, sodass die Daten nur schwer in einer einzigen Zeile zu beschreiben sind. Analysis Services verfügt für solche Fä;lle über eine einzigartige Methode, bei der geschachtelte Tabellen verwendet werden. Das Konzept von geschachtelten Tabellen wird in der folgenden Abbildung veranschaulicht.
In diesem Diagramm enthä;lt die erste Tabelle, bei der es sich um die übergeordnete Tabelle handelt, Kundeninformationen und ordnet jedem Kunden einen eindeutigen Bezeichner zu. Die zweite (untergeordnete) Tabelle enthält die von jedem Kunden getätigten Käufe. Die Käufe in der untergeordneten Tabelle werden durch den eindeutigen Bezeichner, die CustomerKey-Spalte, mit der übergeordneten Tabelle verknüpft. Die dritte Tabelle zeigt, wie die beiden Tabellen kombiniert werden.
Eine geschachtelte Tabelle wird in der Falltabelle als eine spezielle Spalte dargestellt, die dem TABLE-Datentyp zugehört. Für jede Fallzeile sind in dieser Art von Spalte ausgewählte Reihen der untergeordneten Tabelle enthalten, die die übergeordnete Tabelle betreffen.
Die Daten in einer geschachtelten Tabelle können für die Vorhersage oder die Eingabe verwendet werden, oder aber für beides. Wenn beispielsweise ein Modell zwei Spalten einer gäeschachtelten Tabelle enthält, kann eine Spalte der geschachtelten Tabelle eine Liste mit den Produkten enthalten, die von einem Kunden bislang gekauft wurden, während die andere Spalte der geschachtelten Tabelle Informationen zu den Hobbys und Interessen des Kunden enthält, die möglicherweise in einer Umfrage erfasst wurden. In diesem Szenario können Sie die Hobbys und Interessen des Kunden als Eingabedaten für die Analyse des Kaufverhaltens verwenden und so wahrscheinliche Kä;ufe vorhersagen.
Verknüpfen von Falltabellen und geschachtelten Tabellen
Um eine geschachtelte Tabelle zu erstellen, müssen die beiden Quelltabellen eine definierte Beziehung enthalten, sodass die Elemente in der einen Tabelle der anderen Tabelle zugeordnet werden können. In Business Intelligence Development Studio können Sie diese Beziehung in der Datenquellensicht definieren.
Hinweis: Das Feld CustomerKey ist ein relationaler Schlüssel, mit dem die Falltabelle und die geschachtelte Tabelle in der Datenquellensicht-Definition miteinander verknüpft werden und mit der die Beziehung zwischen den Spalten in der Miningstruktur festgelegt wird. In der Regel sollte dieser relationale Schlüssel aber nicht in auf dieser Struktur basierenden Miningmodellen verwendet werden. In der Regel empfiehlt es sich, die relationale Schlüsselspalte nicht in das Miningmodell aufzunehmen, wenn sie nur zum Verknüpfen der Tabellen dient und keine für die Analyse relevanten Informationen bereitstellt.
Geschachtelte Tabellen können entweder programmgesteuert mithilfe von DMX (Data Mining Extensions) oder AMO (Analysis Management Objects) erstellt werden, Sie können aber auch den Data Mining-Assistenten und den Data Mining-Designer in Business Intelligence Development Studio hierfür verwenden.
Verwenden von geschachtelten Tabellenspalten in einem Miningmodell
In der Falltabelle ist der Schlüssel oft eine Kundenkennung, ein Produktname oder ein Datum in einer Folge: Daten, die eine Zeile der Tabelle eindeutig identifizieren. . In geschachtelten Tabellen ist der Schlüssel dagegen meist nicht der relationale Schlüssel (oder Fremdschlüssel), sondern die Spalte, die das zu modellierende Attribut enthält.
Wenn die Falltabelle beispielsweise Bestellungen enthält und die geschachtelte Tabelle enthält die Artikel der Bestellung, wäre es interessant, die Beziehung zwischen den in der geschachtelten Tabelle gespeicherten Artikeln für mehrere der in der Falltabelle gespeicherten Bestellungen zu modellieren. Obwohl die geschachtelte Tabelle Items über den relationalen Schlüssel OrderID mit der Falltabelle Orders verknüpft ist, sollte OrderID nicht als Schlüsselspalte für die geschachtelte Tabelle verwendet werden. Stattdessen sollten Sie die Spalte Items als Schlüsselspalte für die geschachtelte Tabelle verwenden, weil diese die zu modellierenden Daten enthält. Meist kann die Spalte OrderID im Miningmodell gefahrlos ignoriert werden, weil die Beziehung zwischen der Falltabelle und der geschachtelten Tabelle bereits durch die Definition der Datenquellensicht festgelegt wurde.
Bei der Auswahl einer Spalte als Schlüsselspalte für die geschachtelte Tabelle müssen Sie sicherstellen, dass die Werte dieser Spalte für jeden Fall eindeutig sind. Wenn die Falltabelle beispielsweise Kunden darstellt und die geschachtelte Tabelle die von den Kunden gekauften Artikel darstellt, müssen Sie sicherstellen, dass kein Artikel für einen Kunden mehrmals aufgeführt wird. Wenn ein Kunde den gleichen Artikel mehrmals gekauft hat, sollten Sie eine andere Sicht mit einer Spalte erstellen, die die Anzahl der Käufe für jedes einzelne Produkt aggregiert.
Wie doppelte Werte in einer geschachtelten Tabelle gehandhabt werden sollen, hängt von dem zu erstellenden Miningmodell und dem zu lösenden Geschäftsproblem ab. In einigen Szenarien ist es möglicherweise gleichgültig, wie oft ein Kunde ein bestimmtes Produkt gekauft hat, weil nur geprüft werden soll, ob mindestens ein Kauf getätigt wurde. In anderen Szenarien ist möglicherweise die Quantität und die Sequenz der Käufe sehr wichtig.
Wenn die Reihenfolge der Elemente wichtig ist, benötigen Sie unter Umständen eine weitere Spalte, die die Sequenz angibt. Wenn Sie den Sequence Clustering-Algorithmus zum Erstellen eines Modells verwenden, müssen Sie eine zusätzliche Schlüsselsequenzspalte auswählen, welche die Reihenfolge der Elemente darstellt. Die Schlüsselsequenzspalte ist eine spezielle Art von geschachtelter Schlüsselspalte, die nur in Sequenzclustermodellen verwendet wird und einen eindeutigen numerischen Datentyp erfordert. Beispielsweise können sowohl ganze Zahlen als auch Datumsangaben als Schlüsselsequenzspalte verwendet werden, jedoch müssen alle Sequenzwerte eindeutig sein. Neben der Schlüsselsequenzspalte verfügt ein Sequenzclustermodell auch über eine geschachtelte Tabellenschlüsselspalte, die das zu modellierende Attribut darstellt, z. B. die gekauften Produkte.
Verwenden von geschachtelten Nichtschlüsselspalten einer geschachtelten Tabelle Nachdem Sie die Verknüpfung zwischen der Falltabelle und der geschachtelten Tabelle definiert und eine Spalte ausgewählt haben, die interessante und eindeutige Attribute enthält und als Schlüsselspalte der geschachtelten Tabelle dienen soll, können Sie andere Spalten der geschachtelten Tabelle als Eingabespalten in das Modell aufnehmen. Alle Spalten der geschachtelten Tabelle können als Eingabe, für Vorhersagen und als Eingabe oder nur für Vorhersagen verwendet werden.
Wenn die geschachtelte Tabelle beispielsweise die Spalten Product, ProductQuantity und ProductPrice enthält, können Sie Product als Schlüsselspalte der geschachtelten Tabelle festlegen und der Miningstruktur ProductQuantity als Eingabespalte hinzufügen.
Filtern von geschachtelten Tabellendaten
In SQL Server 2008 können Sie Filter für Daten definieren, die zum Trainieren oder Testen eines Data Mining-Modells verwendet werden. Mit einem Filter kann die Zusammensetzung des Modell beeinflusst oder das Modell an einer Teilmenge der Fälle getestet werden. Filter können auch auf geschachtelte Tabellen angewendet werden. Es gibt Einschränkungen bezüglich der Syntax, die für geschachtelte Tabellen verwendet werden kann.
Wenn Sie einen Filter auf eine geschachtelte Tabelle anwenden, prüfen Sie, ob ein Attribut vorhanden oder nicht vorhanden ist. Sie können beispielsweise einen Filter anwenden, der die im Modell verwendeten Fälle auf diejenigen Fälle beschränkt, die in der geschachtelten Tabelle einen bestimmten Wert aufweisen. Sie könnten die im Modell verwendeten Fälle auch auf die Kunden beschränken, die einen bestimmten Artikel nicht gekauft haben.
Wenn Sie Filter für eine geschachtelte Tabelle definieren, können Sie auch Operatoren wie "größer als" oder "kleiner als" verwenden. Zum Beispiel könnten Sie die im Modell verwendeten Fälle auf Kunden beschränken, die mindestens n Einheiten des Zielprodukts gekauft haben. Die Fähigkeit, geschachtelte Tabellenattribute zu filtern, ermöglicht es, Modelle auf verschiedenste Weise anzupassen.
Der Data Mining-Algorithmus ist ein Mechanismus zur Erstellung eines Data Mining-Modells. Der Algorithmus analysiert zunächst Daten auf der Suche nach bestimmten Mustern und Trends, um ein Modell zu erstellen. Mithilfe der Ergebnisse dieser Analyse definiert der Algorithmus die Parameter für das Miningmodell. Diese Parameter werden dann für das gesamte Dataset übernommen, um aussagefähige Muster und ausführliche Statistiken zu extrahieren.
Das von einem Algorithmus erstellte Miningmodell kann verschiedene Formen annehmen, einschließlich der folgenden:
Microsoft SQL Server Microsoft SQL Server Analysis Services stellt verschiedene Algorithmen bereit, die in den Data Mining-Projektmappen verwendet werden können. Diese Algorithmen sind eine Teilmenge aller Algorithmen, die für Data Mining verwendet werden können. Sie können darüber hinaus Algorithmen von Drittanbietern verwenden, die der Spezifikation OLE DB für Data Mining entsprechen.
Typen von Data Mining-Algorithmen
Analysis Services enthält die folgenden Algorithmentypen:
Anwenden der Algorithmen
Es kann schwierig sein, den besten Algorithmus für eine bestimmte Geschäftsaufgabe auszuwählen. Während verschiedene Algorithmen zum Ausführen derselben Geschäftsaufgabe verwendet werden können, liefert jeder Algorithmus ein anderes Ergebnis und einige Algorithmen können mehr als eine Ergebnisart ergeben. Sie können z. B. den Microsoft Decision Trees-Algorithmus nicht nur für Vorhersagen verwenden, sondern auch als Möglichkeit, die Anzahl der Spalten in einem Dataset zu reduzieren, weil der Entscheidungsbaum Spalten identifizieren kann, die sich nicht auf das endgültige Miningmodell auswirken.
Sie müssen die Algorithmen außerdem nicht unabhängig voneinander verwenden. In einer einzelnen Data Mining-Projektmappe können einige Algorithmen zum Durchsuchen von Daten und andere Algorithmen zum Vorhersagen bestimmter Ausgaben auf Grundlage dieser Daten verwendet werden. Sie können z. B. einen Clusteringalgorithmus zum Erkennen von Mustern verwenden, um Daten in mehr oder weniger homogene Gruppen aufzuteilen, und im Anschluss daran mit den Ergebnissen ein besseres Entscheidungsbaummodell erstellen. Sie können mehrere Algorithmen innerhalb einer Projektmappe zum Ausführen separater Aufgaben verwenden, z. B. können Sie mit einem Regressionsstrukturalgorithmus Finanzprognosen erstellen und eine Warenkorbanalyse mit einem regelbasierten Algorithmus ausführen.
Mithilfe von Miningmodellen können Werte vorhergesagt, Datenzusammenfassungen erstellt und verborgene Korrelationen gesucht werden. In der folgenden Tabelle finden Sie Empfehlungen zum Verwenden von Algorithmen für bestimmte Aufgaben, die Ihnen beim Auswählen der Algorithmen für eine Data Mining-Projektmappe helfen sollen.
Vorhersagen eines diskreten Attributs Sie möchten z. B. vorhersagen, ob der Empfänger einer Targeted Mailing-Kampagne ein Produkt kaufen wird:
Vorhersagen eines kontinuierlichen Attributs Sie möchten z. B. den Verkaufstrend für das nächste Jahr vorhersagen.
Vorhersagen einer Sequenz Sie möchten z. B. bei einer Unternehmenswebsite eine Clickstreamanalyse ausführen.
Suchen von Gruppen aus allgemeinen Elementen in Transaktionen. Sie möchten z. B. die Warenkorbanalyse verwenden, um einem Kunden weitere Produkte vorzuschlagen.
Suchen von Gruppen mit ähnlichen Elementen Sie möchten z. B. demografische Daten in Gruppen unterteilen, um die Beziehungen zwischen den Attributen besser zu verstehen
Weil jedes Modell einen unterschiedlichen Ergebnistyp zurückgibt, stellt Analysis Services einen separaten Viewer für jeden Algorithmus bereit. Wenn Sie ein Miningmodell in Analysis Services durchsuchen, wird das Modell im Data Mining-Designer auf der Registerkarte Miningmodell-Viewer mit dem jeweils geeigneten Viewer für das Modell angezeigt.
Algorithmusdetails
In der folgenden Tabelle finden Sie Links zu den Informationstypen, die für jeden Algorithmus zur Verfügung stehen:
