Data Mining mit Microsoft SQL Server · SQL Server Data Mining-Add-Ins für Office 2007 66 Excel...

12
Jan Tittel, Manfred Steyer Data Mining mit Microsoft SQL Server Microsoft Mrocc

Transcript of Data Mining mit Microsoft SQL Server · SQL Server Data Mining-Add-Ins für Office 2007 66 Excel...

Page 1: Data Mining mit Microsoft SQL Server · SQL Server Data Mining-Add-Ins für Office 2007 66 Excel 2007 66 Visio 2007 67 ... Microsoft Logistic Regression-Algorithmus 406 HOLDOUT_PERCENTAGE

Jan Tittel, Manfred Steyer

Data Mining mitMicrosoft SQL Server

MicrosoftMrocc

Page 2: Data Mining mit Microsoft SQL Server · SQL Server Data Mining-Add-Ins für Office 2007 66 Excel 2007 66 Visio 2007 67 ... Microsoft Logistic Regression-Algorithmus 406 HOLDOUT_PERCENTAGE

Inhaltsverzeichnis

Vorwort 17

Einleitung i 19Business Intelligence und SQL Server 20Data Mining 20Ziel des Buchs und Voraussetzungen 21Aufbau des Buchs 21Kontakt zu den Autoren 22

Teil A - Data Mining-Konzepte 23

1 Einführung in Data Mining 25Überblick über Data Mining 26Beispiel 1: Vorhersage von Flugstornierungen 28

Beschreibung der Aufgabenstellung 28Lösungsweg 28

Beispiel 2: Warenkorbanalyse 30Beschreibung der Aufgabenstellung 30Lösungsweg 31

Beispiel 3: Marktsegmentierung 34Beschreibung der Aufgabenstellung 34Lösungsweg 35

Zusammenfassung 36

2 Data^Mining-Algorithmen 37Daten- und Inhaltstypen 38, Der Inhaltstyp Diskret (Discrete) 38

Der Inhaltstyp Fortlaufend (Continuous) 39' Der Inhaltstyp Diskretisiert (Discretized) 39

Der Inhaltstyp Schlüssel (Key) 39Der Inhaltstyp Schlüssel-Sequenz (Key Sequence) 39Der Inhaltstyp Zeit-Schlüssel (Key Time) 39Der Inhaltstyp Geordnet (Ordered) 39Der Inhaltstyp Zyklisch (Cyclical) 40Daten- und Inhaltstypen kombinieren 40

Page 3: Data Mining mit Microsoft SQL Server · SQL Server Data Mining-Add-Ins für Office 2007 66 Excel 2007 66 Visio 2007 67 ... Microsoft Logistic Regression-Algorithmus 406 HOLDOUT_PERCENTAGE

Inhaltsverzeichnis

Algorithmengruppen 40Klassifikationsalgorithmen 40Regressionsalgorithmen 42Zuordnungsalgorithmen 44Segmentierungsalgorithmen 44Sequenzanalysealgorithmen 44Plug-in-Algorithmen 45

Zusammenfassung 45

3 Überlegungen_zur Datenvorbereitung 47Handhabung vdrf Einträgen 48

Zusammenfassen von Einträgen 48Auswählen von Einträgen 48

Handhabung von Attributen 49Auswählen und Erzeugen von Attributen 49Diskretisieren von Attributen 49

Fehlende und ungenaue Werte 50Umgang mit fehlenden Werten 50Umgang mit ungenauen Werten 50

Strukturelle Anpassungen 50Zusammenfassung 51

4 Überlegungen zur Validierung von Miningmodellen 53Validierungstechniken 54

Naiver Ansatz 54HoldOut 55Kreuzvalidierung 55Leave One Out-Validierung 56

Darstellung von Validierungsergebnissen 56Klassifikationsmatrix 56Lift- und Cost-Charts 56

Zusammenfassung 58

Teil B-Die Data Mining-Plattform von Microsoft 59

5 'Anwendungen und Technologien im Überblick 61SQL Server 2005/2008 62

Relationales Datenbankmodul 62SQL Server Integration Services 63SQL Server Analysis Services (OLAP) 63SQL Server Analysis Services (Data Mining) 63SQL Server Reporting Services 63

Page 4: Data Mining mit Microsoft SQL Server · SQL Server Data Mining-Add-Ins für Office 2007 66 Excel 2007 66 Visio 2007 67 ... Microsoft Logistic Regression-Algorithmus 406 HOLDOUT_PERCENTAGE

Inhaltsverzeichnis • _ ^

Verwaltungs- und Entwicklungstools 64Beispieldatenbank Adventure Works , 64

Skript- und Abfragesprachen 65ASSL und XMLA 65DMX , . 65

Office 2007 66SQL Server Data Mining-Add-Ins für Office 2007 66Excel 2007 66Visio 2007 67

Visual Studio 2005/2008 67Objektbibliothöken und Steuerelemente 67

AMO 67ADOMD.NET 68Data Mining Viewer Controls 68

Zusammenfassung 68

6 Unterschiede in Versionen und Editionen von SQL Server 69Übersicht der Unterschiede 70Versionen von SQL Server 70

SQL Server 2005 71SQL Server 2008 71

Editionen von SQL Server 73SQL Server 2005 73SQL Server 2008 74

Zusammenfassung 75

7 Einrichten der Arbeitsumgebung 77Bestehende Arbeitsumgebung 78Erforderliche Office-Komponenten 78Visual Studio 2008 Professional Edition 79SQL Server 2008 Developer Edition 79Die Beispieldatenbank Adventure Works 84Beispielprojekte für SQL Server 88SQL Server Data Mining-Add-Ins für Office 2007 89Zusammenfassung 90

Teil C - Data Mining mit Office 2007 91

8 Einführung in die Data Mining-Add-Ins 93Technische Voraussetzungen 94Verbindung zu Analysis Services herstellen 94Beschreibung und Funktionen der Add-Ins 96

Tabellenanalysetools für Excel 2007 96

Page 5: Data Mining mit Microsoft SQL Server · SQL Server Data Mining-Add-Ins für Office 2007 66 Excel 2007 66 Visio 2007 67 ... Microsoft Logistic Regression-Algorithmus 406 HOLDOUT_PERCENTAGE

J Inhaltsverzeichnis

Data Mining-Client für Excel 2007 98Excel-Funktionen für Data Mining 102Data Mining-Vorlagen für Visio 2007 102Beispieldaten für Excel 102Hilferessourcen 103

Eigene Daten in Excel verwenden 103Externe Daten importieren 103Daten als Excel-Tabelle formatieren 104

Zusammenfassung 104

9 Tabellenanalysetools für Excel'2007 105Wichtige Einflussfaktoren analysieren 106

Das Tool Wichtige Einflussfaktoren analysieren verwenden 106Informationen zum Bericht der wichtigen Einflussfaktoren 108

Kategorien erkennen 109Das Tool Kategorien erkennen verwenden 109Informationen zum Kategoriebericht 110

Vorhersagen treffen 111Fehlende Werte vorhersagen 111Zeitreihen vorhersagen 112Muster mit dem Vorhersagerechner erkennen 114

Ausnahmen hervorheben 116Szenarienanalysen 117

Zielsuche durchführen 118Was-wäre-wenn-Analyse durchführen 119

Warenkörbe analysieren 121Das Tool Warenkorbanalyse verwenden 121Informationen zu den Berichten der Warenkorbanalyse 123

Zusammenfassung 124

10 Data Mining-Client für Excel 2007 125Daten zur Auswertung vorbereiten 126

Daten durchsuchen und gruppieren 126Ausreißer entfernen 128Stichproben entnehmen 129

Miningmo'delle erstellen 130Miningmodelle mithilfe von Assistenten erstellen 131Miningmodelle manuell erstellen 134

Externe Daten verwenden 141Leistung von Miningmodellen bewerten 144

Genauigkeitsdiagramme zur Leistungsbewertung 144Weitere Methoden zur Leistungsbewertung 146

Vorhersagen treffen 146Vorhersagen mit dem Assistenten erstellen 147

Page 6: Data Mining mit Microsoft SQL Server · SQL Server Data Mining-Add-Ins für Office 2007 66 Excel 2007 66 Visio 2007 67 ... Microsoft Logistic Regression-Algorithmus 406 HOLDOUT_PERCENTAGE

Inhaltsverzeichnis

Vorhersagen als DMX-Abfrage erstellen 149Weitere Funktionen im Data Mining-Client ...<-. 151

Miningmodelle durchsuchen und dokumentieren 151Miningstrukturen und -modelle verwalten 152Interaktion von Excel mit SQL Server überwachen 153

Zusammenfassung 153

11 Excel-Funktionen für Data Mining 155Erstellen des Beispielminingmodells 156Verwenden der Excel-Funktionen für Data Mining 156

Vorhersagen mit DMPREDICT -• 157Vorhersagen mit Datenzeilen und DMPREDICTTABLEROW 158Modellinhalt abfragen mit DMCONTENTQUERY 158

Zusammenfassung 160

12 Data Mining-Vorlagen für Visio 2007 161Erstellen der Beispielminingmodelle 162

Erstellen eines Klassifikationsmodells 162Erstellen eines Clustermodells 163

Diagramme für Miningmodelle erstellen 163Entscheidungsstrukturdiagramm erstellen 164Weitere Diagrammtypen 166

Zusammenfassung 170

Teil D - Data Mining mit SQL Server 2008 171

13 Miningmodelle im BIDS erstellen 173Überblick üher Strukturen und Modelle 174Neues Projekt anlegen 174Datenquelle und Datenquellensicht anlegen 175Miningstruktur und -modell anlegen 176Miningstruktur bereitstellen und verarbeiten 182Miningmodell anzeigen 183

Entscheidungsstruktur anzeigen 183Zusammenfassung 190

14 Miningmodelle im BIDS abfragen 191Vorhersagen mit SINGLETON-Abfragen 192Vorhersagen mit SQL-Abfragen 195Zusammenfassung 197

Page 7: Data Mining mit Microsoft SQL Server · SQL Server Data Mining-Add-Ins für Office 2007 66 Excel 2007 66 Visio 2007 67 ... Microsoft Logistic Regression-Algorithmus 406 HOLDOUT_PERCENTAGE

Inhaltsverzeichnis

15 Validieren von Miningmodellen 199Validierung nach der HoldOut-Methode \ 200

Testmenge zurückhalten 200Rahmenbedingungen für Validierung angeben 201Prognosegütediagramm anzeigen 202Gewinndiagramm anzeigen 203Klassifikationsmatrix anzeigen 205

Unterschiedliche Modelle vergleichen 206Durchführen einer Kreuzvalidierung 210

Rahmenbedingungen für Kreuzvalidierung festlegen 210Ergebnisse einer Kreuzvalidierung anzeigen 212

Zusammenfassung 213

16 Data Mining und SQL Server Integration Services 215Überblick über SQL Server Integration Services 216

Ablaufsteuerung 216Datenfluss 223

Ausgewählte Tasks für Data Mining-Szenarien 234Tasks der Ablaufsteuerung 234Tasks des Datenflusses 237

Ausgewählte Tasks für Text Mining-Szenarien 238Ausdrucksextrahierungs-Task 238Ausdruckssuche-Task 239Datenstruktur für Text Mining-Szenarien 242

Zusammenfassung 243

17 Data Mining und SQL Server Reporting Services 245Entwerfen eines Berichts 246Bericht bearbeiten 253

Berichtsdaten definieren 253Berichtsparameter definieren 254Datenquellen definieren 254Datasets definieren 255Bericht entwerfen 258

Bereitstellen und Abrufen eines Berichts 260

Zusammenfassung 261

Teil E - Fallbeispiele 263

18 Warenkorbanalysen mit Zuordnungsregeln durchführen 265Geschachtelte Tabellen verstehen 266Miningmodell mit geschachtelten Tabellen erstellen 266Miningmodell anzeigen 272

Page 8: Data Mining mit Microsoft SQL Server · SQL Server Data Mining-Add-Ins für Office 2007 66 Excel 2007 66 Visio 2007 67 ... Microsoft Logistic Regression-Algorithmus 406 HOLDOUT_PERCENTAGE

Inhaltsverzeichnis I jjl

Ermittelte Regeln anzeigen 272Ermittelte Itemsets anzeigen .-. 274Abhängigkeitsnetzwerk anzeigen 275

Miningmodell abfragen 276Zusammenfassung 278

19 Kundensegmente mit Clustering erkennen 279Miningmodell erstellen 280Miningmodell anzeigen 287

Clusterdiagramme anzeigen 288ClusterproFile anzeigen 289Clustermerkmale anzeigen 290Cluster vergleichen 291

Miningmodell abfragen 291Zusammenfassung 293

20 Benutzerverhalten auf Websites mit Sequence Clustering analysieren 295Miningmodell erstellen 296Miningmodell anzeigen • 302

Clusterdiagramm anzeigen 302Clusterprofile anzeigen 303Clustermerkmale anzeigen 304Cluster vergleichen 305

Miningmodell abfragen 306Zusammenfassung 309

21 Kennzahlen mit dem Time Series-Algorithmus vorhersagen 311Miningmodell erstellen 312Miningmodell anzeigen. 318

Zeitreihe als Diagramm anzeigen 318Modell anzeigen 319

Miningmodell abfragen 319Zusammenfassung 321

22 Streuverluste mit neuronalen Netzwerken vermindern 323Miningmodell erstellen 324Miningmodell anzeigen 328

Optionen für Anzeige festlegen 328Anzeige interpretieren 328

Miningmodell abfragen 329Zusammenfassung 331

Page 9: Data Mining mit Microsoft SQL Server · SQL Server Data Mining-Add-Ins für Office 2007 66 Excel 2007 66 Visio 2007 67 ... Microsoft Logistic Regression-Algorithmus 406 HOLDOUT_PERCENTAGE

12 Inhaltsverzeichnis

Teil F - Fortgeschrittene Techniken und Entwicklung 333

23 Einführung in ASSL und XMLA 335Anwendungsgebiet von XMLA 336Methoden und Erweiterungen von XMLA 337

Discover-Methode 337Execute-Methode 337XMLA-Erweiterungen (ASSL) 337Einführungsbeispiel: Miningmodell verarbeiten 338

XMLA-Abfragen kn Management Studio erstellen 338XMLA-Vorlagen verwenden 339Beispiel: Datenbank sichern 340

XMLA mit SQL Server Profiler weiterverwenden 341DMX mit XMLA versenden 343Zusammenfassung 345

24 Data Mining-Erweiterungen (DMX) 347Sprachelemente von DMX 348

Operatoren 348Datendefinitionsanweisungen 349Datenbearbeitungsanweisungen 350SELECT-Anweisung 350DMX-Funktionen 351Kommentare 353

DMX-Abfragen in Management Studio erstellen 354Editor für DMX-Abfragen 354DMX-Vorlagen verwenden 355Generator für Vorhersageabfragen verwenden 356

Miningstrukturen und -modelle erstellen 357Miningstrukturen erstellen 357Miningmodelle erstellen 357Minisgmodelle trainieren 358Miningstrukturen mit geschachtelten Tabellen erstellen 358Miningmodelle für geschachtelte Tabellen erstellen 359Miningmodelle für geschachtelte Tabellen trainieren 359

Vorhersageabfragen erstellen 360Einfache Vorhersageabfragen erstellen 360Batchvorhersageabfragen erstellen 360Vorhersageabfragen mit geschachtelten Tabellen erstellen 361

Weitere Abfragen für Miningmodelle 362Statistische Daten abfragen 362Werte einer Spalte abfragen 363

Page 10: Data Mining mit Microsoft SQL Server · SQL Server Data Mining-Add-Ins für Office 2007 66 Excel 2007 66 Visio 2007 67 ... Microsoft Logistic Regression-Algorithmus 406 HOLDOUT_PERCENTAGE

Inhaltsverzeichnis

Miningmodellinhalt abfragen 363Miningstrukturen und -modelle löschen...? 365

Zusammenfassung 365

25 Analysis Management Objects (AMO) 367Konzepte und Objektmodell von AMO 368

Grundlegende Klassen in AMO 369Klassen für Data Mining in AMO 370Weitere Klassen in AMO 370

Erstellen der,Beispielanwendung 370Oberfläcrie'der Anwendung erstellen 371Verweis auf die Klassenbibliothek von AMO hinzufügen 372

Datenbankverbindung herstellen 372Mit Miningstrukturen und -modellen arbeiten 373

Miningstrukturen und -modelle auslesen 373Miningstrukturen und -modelle erstellen 375Miningstrukturen und -modelle verwalten 378

Datenbanken sichern und wiederherstellen 379Datenbanken sichern 379Datenbanken wiederherstellen 380

AMO verteilen 380Zusammenfassung 380

26 ActiveX Data Objects MultiDimensional .NET (ADOMD.NET) 381Konzepte und Objektmodell von ADOMD.NET 382

Klassen für den Datenzugriff in ADOMD.NET 382Klassen für Data Mining in ADOMD.NET 383

Erstellen der Beispielanwendung 383Oberfläche der Anwendung erstellen 384Verweis auf die Klassenbibliothek von ADOMD.NET hinzufügen 385

Datenbankverbindung herstellen 385Datenabfragen ausführen 385

- Metadaten von Miningmodellen abfragen 386Spaltenwerte von Miningmodellen abfragen 388Vorhersagen mit Miningmodellen treffen 389Verwaltungsaufgaben mit ADOMD.NET ausführen 390

ADOMD.NET verteilen 390Zusammenfassung 390

27 Data Mining Viewer Controls 391Überblick der Data Mining Viewer Controls 392Erstellen der Beispielanwendung 393

Oberfläche der Anwendung erstellen 393

Page 11: Data Mining mit Microsoft SQL Server · SQL Server Data Mining-Add-Ins für Office 2007 66 Excel 2007 66 Visio 2007 67 ... Microsoft Logistic Regression-Algorithmus 406 HOLDOUT_PERCENTAGE

Inhaltsverzeichnis

Verweise auf benötigte DLLs hinzufügen 394Programmcode hinzufügen : 394

Data Mining Viewer Controls verteilen 397Zusammenfassung 397

Anhang A - Algorithmus-Parameter 399Microsoft Association Rules-Algorithmus 400

MAXIMUM_ITEMSET_COUNT 400MAXIMUM_ITEMSET_SIZE 400MAXIMUM_SUPPORT 400MINIMUM JTEMSET_SIZE 401MINIMUM_PROBABILITY 401MINIMUM_SUPPORT 401OPTIMIZED_PREDICTION_COUNT 401

Microsoft Clustering-Algorithmus 402CLUSTERING_METHOD 402CLUSTER_COUNT 402CLUSTER_SEED 402MINIMUM_SUPPORT 403MODELLING_CARDINALITY 403STOPPINGJTOLERANCE 403SAMPLE_SIZE 403MAXIMUM_INPUT_ATTRIBUTES 403MAXIMUM_STATES 404

Microsoft Decision Trees-Algorithmus 404COMPLEXITY_PENALTY 404FORCE_REGRESSOR 404MAXIMUM_INPUT_ATTRIBUTES 404MAXIMUM_OUTPUT_ATTRIBUTES 405MINIMUM_SUPPORT 405SCORE_METHOD 405

^PLITJMETHOD 405Microsoft Linear Regression-Algorithmus 406

,- MAXIMUM_INPUT_ATTRIBUTES 406MAXIMUM_OUTPUT_ATTRIBUTES 406FORCED_REGRESSOR 406

Microsoft Logistic Regression-Algorithmus 406HOLDOUT_PERCENTAGE 406HOLDOUT_SEED 406MAXIMUM_INPUT_ATTRIBUTES 407MAXIMUM_OUTPUT_ATTRIBUTES 407MAXIMUM_STATES 407SAMPLE SIZE 407

Page 12: Data Mining mit Microsoft SQL Server · SQL Server Data Mining-Add-Ins für Office 2007 66 Excel 2007 66 Visio 2007 67 ... Microsoft Logistic Regression-Algorithmus 406 HOLDOUT_PERCENTAGE

Inhaltsverzeichnis ' 15

Microsoft Naive Bayes-Algorithmus 407MAXIMUM_INPUT_ATTRIBUTES 407MAXIMUM_OUTPUT_ATTRIBUTES 408MINIMUM_DEPENDENCY_PROBABILITY 408MAXIMUM_STATES 408

Microsoft Neural Network-Algorithmus 408HIDDEN_NODE_RATIO 408HOLDOUT_PERCENTAGE 409HOLDOUT_SEED 409MAXIMUM_INPUT_ATTRIBUTES 409MAXIMUMJDUTPUT_ATTRIBUTES 409MAXIMUM_STATES 409SAMPLE_SIZE 409

Microsoft Sequence Clustering-Algorithmus 410CLUSTER_COUNT 410MINIMUM_SUPPORT 410MAXIMUM_SEQUENCE_STATES 410MAXIMUM_STATES 410

Microsoft Time Series-Algorithmus 410AUTO_DETECT_PERIODICITY 411COMPLEXITY_PENALTY 411FORECAST_METHOD 411HISTORIC_MODEL_COUNT 411HISTORICAL_MODEL_GAP 411INSTABILITY_SENSITIVITY 411MAXIMUM_SERIES_VALUE 412MINIMUM_SERIES_VALUE 412MINIMUM_SUPPORT 412MISSING_VALUE_SUBSTITUTION 412PERIODICITY_HINT 413PREDICTION_SMOOTHING 413

Stichwortverzeichnis 415

Über die Autoren 427