Business Intelligence Prüfungsvorbereitung
Gekürzte Fassung
Gekürzte Fassung
-
- 1 / 80
-
Lernkarten
Cloud Computing
Cloud Computing & SaaS
Cloud Computing:
- Bietet Speicher, HW, SW & Dienste zeitgleich für viele Nutzer an
- Nutzt Internet für Kommunikation und Transport
- Plattform: vernetzte HW & SW sowie Internet-Infrastruktur
- Bietet API´s und graphische Schnittstellen (versteckt Komplexität)
- Bietet on-demand-Services
Software as a Service:
- Modell der SW-Bereitstellung
- Anwendung als Service gehostet (über das Internet bereitgestellt)
- Häufig Business-Software
- Wartung entfällt für Kunden
Cloud Computing
Virtualisierung
Virtuelle Workspaces:
- Abstraktion einer Anwendungsumgebung
- Flexible SW-Konfiguration
Implementierung auf virtuellen Maschinen
- Abstraktion eines physischen Hosts
VM-Technologie:
- Erlaubt Betrieb vieler VM auf einer physischen Maschine
Vorteile der Virtualisierung:
- Betriebssysteme entfernt von Hardware laufen lassen
- Einfacher neue Maschinen zu erstellen
- Einfacher Softwaretest
- Maschinen mit geringer Auslastung können sich einen Host teilen
- Debuggen von Problemen
- Einfache Migration der virtuellen Maschinen
Cloud Computing
Cloud Sourcing
=Cloud-basiertes Outsourcing
Chancen:
- Nutzung von qualifizierten und kostengünstigen Anbietern
- Jederzeit zugänglich
- Schnell skalierbar
- Keine Notwendigkeit sich auf lokale IT zu konzentrieren
Risiken:
- Performanz und Verlässlichkeit
- Kontrolle der Daten
- Lock-in Effekte
- Keine standardisierten Schnittstellen und Protokolle
- Datenschutz, Sicherheit, Compliance
Cloud Computing
Cloud (-Data-) Storage
Erlaubt es Daten entfernt zu speichern und nur temporär auf dem jeweiligen Gerät zu cachen.
Cloud Computing
Relational Databases
Vorteile:
- Zuverlässig
- ACID-Eigenschaften von Transaktionen
Limitierung:
- Skalierbarkeit (bei großen Mengen und schwer als Verteilte Systeme zu realisieren)
- Komplexität (alle Daten in Tabellen eintragen)
- Herausforderungen: Konnektivität, Datengröße und Vielfalt der Daten
Cloud Computing
NoSQL & Properties
No SQL
- Kein festes Schema
- Open Source
- Basiert auf modernen WebApps
Eigenschaften:
- Bietet oft „künftige Konsistenz“
- Daten werden automatisch auf Systemknoten verteilt
- Neuartige Speicherlayouts (vgl. Kategorien)
NoSQL BASE
- Basically Available Nutzung von Replikaten
- Soft State ermöglicht Behandlung inkonsistenter Daten
- Eventually Consistent Sicherstellung dass Daten in Zukunft konsistent sind
CAP-Theorem
- Consistency alle Knoten haben dieselben Daten zur selben Zeit
- Availability jede Anfrage erhält eine Antwort
- Partition tolerance System arbeitet trotz Fehlern weiter
Cloud Computing
Categories of NoSQL Databases
Key/ Value Speicher
- Ordnet Schlüssel zu Werten zu
- Bietet häufig Listen und Hashes
- Nicht für komplexe Anfragen
Spalten-basierte (columnar) DB
- Daten einer Spalte werden zusammen gespeichert
- Einfache Aggregation
- sparsam
Dokumenten-orientierte DB
- speichern Dokumente
- Dokument = Hash-Wert mit ID
- Flexibel
Speicher Netzwerke/ Graph Databases
- Selten genutzt (z.B. Social Network Anwendungen)
- Besteht aus Knoten und Beziehungen zwischen diesen
Data Mining
KDD Process
KDD-Prozess:
(Data)
- Selektion (Target Data)
- Vorverarbeitung (Preprocessed Data)
- Transformation (Transformed Data)
- Data Mining (Patterns)
- Interpretation und Evaluierung (Knowledge)
Data Mining
Data Mining Landscape
Siehe Blatt (Vorgehensweise: Problemdefinition -> Modelselektion -> Methodenselektion -> Methodenvergleich -> Evaluation)
Data Mining
Standard Format
siehe Blatt
Data Mining
Predictive vs. descriptive modelling
???
Data Mining
Data Mining Models
Regression
- Kontinuierliche abhängige Variable
- Kontinuierliche und/ oder diskrete unabhängige Variable
Klassifizierung
- Diskrete abhängige Variable
- Kontinuierliche und/ oder diskrete unabhängige Variable
Clustering
- Nicht abhängige Variablen
- Kontinuierliche und/ oder diskrete unabhängige Variable
Assoziationsregeln & Sequenzielles Muster Mining
- Entdecken von Regeln der Form
- Seuquence Mining sucht auch nach zeitabhängigen Beziehungen
Prediction Model Assessment
Beispiele
Regression
- Neural network
- CART
Classification
- Logit
- Bogging
Prediction Model Assessment
Definition Classification
Gegeben:
- Sammlung von records
- Record = Satz von Attributen
Aufgabe:
- Finden eines Modelles für das Klassenattribut als eine Funktion der Werte der anderen Attribute
Ziel:
- Nutzung eines Training-Set um das Model zu erstellen
- Nutzung eines Test-Set um Daten zu validieren
Prediction Model Assessment
Classification vs. regression
Klassifikation diskrete abhängige Variable
Regression kontinuierliche, abhängige Variable
Prediction Model Assessment
Prototype based methods
=einfache Klassifizierer
- Rote-Learner speichert alle Trainingsdaten und führt Klassifikation aus wenn gespeicherte Attribute = Trainingsset
Decision trees
Classification trees
- Testen der Attributwerte
- Identifizieren von Knoten
- Klassifizierung in Bezug zur Mehrheits-Klasse im Knoten
Konstruktion:
- Finden von Aufteilungsregeln
- Ziel ist die Vermischung der Klassen in den Knoten zu verringern
Decision trees
Regression trees
- Testen der Attributwerte
- Identifizierung der Knoten
- Vorhersage des Mittelwertes der abhängigen Variable im Knoten
Konstruktion
- Finden von Aufteilungsregeln
- Ziel ist es die Varianz der Antwortwerte in den Knoten zu verringern
Decision trees
Technology
- Root node
- Am Anfang
- Enthält alle Trainingsdaten
- Splitter/ Branching Node
- Stellt Frage
- Oft binär
- Internal Node
- Ergebnis einer Frage
- Leaf node
- Vorhersage treffen
Decision trees
Erstellen eines Tree Model
Ansatz der rekursiven Partitionierung:
- „Greedy Search Strategie“ (sucht lokales Optimum für jeden Schritt)
- Trainingsdaten (zu Beginn) im Root Node
- Ein Attribut ausgewählt zum Aufteilen
- Rekursive Partitionierung: Wdh. der Schritte
(bis alle in derselben Klasse, keine Attribute mehr, Abbruchbedingungen)
Zwei wichtige Entscheidungen:
- Splitting RuleWie wird ein Knotenaufgeteilt? Ziel: Reinheit der Datenmengen, Vermeiden unnötiger Splits
- Stopping Rule Wie wird entschieden, dass ein Knoten ein Leaf Node ist? Ziel: Vermeidung zu vieler „Blätter“/ zu hoher Komplexität
Decision Tree
Erstellen
Ansatz der rekursiven Partitionierung:
- „Greedy Search Strategie“ (sucht lokales Optimum für jeden Schritt)
- Trainingsdaten (zu Beginn) im Root Node
- Ein Attribut ausgewählt zum Aufteilen
- Rekursive Partitionierung: Wdh. der Schritte
(bis alle in derselben Klasse, keine Attribute mehr, Abbruchbedingungen)
Zwei wichtige Entscheidungen:
- Splitting Rule Wie wird ein Knoten aufgeteilt? Ziel: Reinheit der Datenmengen, Vermeiden unnötiger Splits
- Stopping Rule Wie wird entschieden, dass ein Knoten ein Leaf Node ist? Ziel: Vermeidung zu vieler „Blätter“/ zu hoher Komplexität
Decision Tree
Problem des Overfitting
Problem des Overfitting:
- Jedes Model enthält Struktur und Rauschen
- Aber Rauschen ist spezifisch für das Datenbeispiel
- Keine Generalisierung
Lösung: Pruning
- Pre-Pruning
- Baumaufbau früh stoppen
- max. Baumtiefe festlegen
- Schwelle bei zu geringem Wachstum
- Baumaufbau früh stoppen
- Post-Pruning
- Baum vollständig aufbauen und löschen der „kleinen Äste“
Prediction Model Assessement
Split Sample Method
- Zufällige Aufteilung der Daten in zwei Sätze (Training und Test)
- Ein Modell übernimmt Abschätzung und andere die Modellbewertung
Vorteile
- Simulierte Anwendung des Vorhersagemodells
- Einfach zu implementieren
- Vermeidet Verallgemeinerungsfehler
Nachteile
- Ineffizient (Verschwenden von 20-40% der Daten)
- Hohe Varianz bei kleinen Datenmengen
Prediction Model Assessement
N-Fold-Cross-Validation
- Zufällige Aufteilung der Daten in N Untermengen
- Eine Untermenge dient der Validierung
- N-1 Untermengen werden zur Modellbildung verwendet
- Wiederholung bis jede Untermenge zur Validierung gedient hat
- Durchschnittsberechnung
Vorteile
- Vermeidet Verallgemeinerungsfehler
- Geringe Varianz
- Hohe Robustheit
Nachteile
- Hoher Ressourcenaufwand
Prediction Model Assessement
Confusion Matrix
siehe Blatt
Clustering
Cluster Analysis
Was ist eine Cluster-Analyse?
àDatenobjekte werden in multidimensional Datenräume eingeordnet (Attribute bilden die Koordinaten)
Cluster-Analyse:
- findet Gruppen von Objekten
- Objekte in verschieden Gruppen stehen nicht in Beziehung zueinander
Problemstellung:
- Objekte in Gruppen möglichst groß und homogen
- Gruppen/ Segmente möglichst heterogen
- Lösungen: deskriptives Data Ming und unsupervised Learning
Clustering
Hierarchical Clustering
Hierarchisches Clustern
Iterative Algorithmen
- Schleifen
- Bilden gemittelte Clusterlösungen
Divisive (trennendes) Clustering
- Top-Down-Ansatz
- Globales Cluster in Sub-Cluster trennen
Agglomerative Clustering
- Bottom-Up-Ansatz
- Iteratives Zusammenführen von Clustern
Clustering
Exvlusive vs. non-exclusive
Exklusives Clustering
- Jeder Case wird einem Cluster zugeordnet
- Z.B. K-Means
Nicht-exklusives Clustering
- Fälle werden irgendeinem Cluster zugeordnet mit bestimmter Wahrscheinlichkeit
- Z.B. Gaussian Mixture
Clustering
K-Means
- nicht-hierarchisches Clustern
- Anzahl der Cluster (K) warden im Vorraus spezifiziert
- Algorithmus:
- Jeder Punkt wird mit einem Centroid
- zufällig oder durch Berechnung zugeordnet
- Wiederholung bis alle Centroiden und Cluster stabil sind (bzw. maginale Änderungen bei Durchlauf der Schleife)
Clustering
SSE
=Sum of Squared Errors
- Bekannteste Maß um Clustering zu bewerten
- Fehler = Distanz vom Punkt zum Centroiden
- SSE = alle Fehler eines Clusters werden quadriert und summiert
- K-Means zielt darauf ab, den SSE zu minimieren
Clustering
Initial Points
Problem bei der Auswahl zufälliger Startpunkte:
- Wenn es k-natürliche Cluster gibt, ist dieChance einen Centroiden pro Cluster auszuwählen gering
- Iteration bewegt Centroiden nicht immer in die richtige Richtung
Lösung:
- Mehrfache Ausführung des Algorithmus mit zufälligen Centroiden (Selektion immer noch ein Problem)
- Mehr als k zufällige Centroiden (am weitesten entfernte auswählen)
- Manuelles Nachbearbeiten
Clustering
Number of Clusters: Elbow Method
siehe Blatt (=elbow-finding -> graphische Darstellung)
Clustering
Euclidean Distance
siehe Blatt
SQL
Funktionen und Syntax
SELECT Welche Attribute soll das Ergebnis enthalten
DISTINCT löscht doppelte Ergebnisse
FROM Welche Tabellen werden betrachtet
WHERE Welche Bedingungen sollen erfüllt sein?
LIKE %xxx% schränkt enthaltene Worte ein
GROUP BY Ergebnisse durch ein/mehrere Attribute gruppieren
HAVING Bedingungen, die nur für die Gruppe zählen
ORDER BY Reihenfolge der Ergebnisse
DESC gibt absteigende Reihenfolge an
SQL
Abfragen formulieren
siehe Blatt
OLAP via SQL
Funktionen und Syntax
???
OLAP via SQL
Abfragen formulieren
siehe Blatt
Data Understanding and Preprocressing
Verschiedene Typen von Attributen
vgl Blatt
- nominal
- ordinal
- interval
- ratio
Data Understanding and Preprocressing
Verschiedene Typen von Daten
- Record
- Graph
- Ordered
Data Understanding and Preprocressing
Data Preparation Landscape (Tasks)
- Feature Selection
- Feature extraction
- Sampling
- Encoding
- Outliers
- Missing Values
- Standardizing Data
- Discretization