• Keine Ergebnisse gefunden

Beispiel für Konzept-Charakterisierung (1)

N/A
N/A
Protected

Academic year: 2022

Aktie "Beispiel für Konzept-Charakterisierung (1) "

Copied!
21
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Konzeptbeschreibung

Ziel: Knappe Charakterisierung einer Datenmenge im Vergleich zu einer anderen Datenmenge (Kontrastmenge)

Methode: Herausfinden charakteristischer Attribute auf angemessener Abstraktionsebene

Vorgehen:

¾ Entfernen von Attributen, die viele verschiedene Werte (> Schwellwert1) in der Datenmenge aber keinen Genera- lisierungsoperator haben oder deren Verallgemeinerungen durch andere Attribute ausgedrückt werden.

¾ Verallgemeinerung von Attributen, die viele verschiedene Werte (> Schwellwert2) in der Datenmenge und einen

Generalisierungsoperator haben, mit Tupel-Zähler.

¾ Relevanzanalyse der restlichen Attribute durch Vergleich mit Kontrastmenge, wobei Attribute mit einem Informations- gewinn > Schwellwert3 ausgewählt werden.

Wissen: Generalisierungshierarchie (z.B. Konzepthierarchie) für Verallgemeinerung, Schwellwerte, Informationsmaß

Varianten:

¾ Konzept-Charakterisierung: Charakterisierung einer Teil- Datenmenge im Vergleich zur Restmenge

¾ Konzept-Vergleich: Vergleich zweier Datenmengen

(2)

2

Informationsmaß

Die erwartete Information in Bits (Anzahl ja/nein Fragen), um eine Klasse i mit der Häufigkeit hi aus einer Menge mit n verschiedenen Klassen der Häufigkeiten (h1, h2, ... hn) zu klassifizieren, ist:

I (h1, h2, ..., hn) = – ∑(i=1 .. n) (hi/h) log2 (hi/h)

mit h = Gesamthäufigkeit; hi = Häufigkeit der i-ten Klasse

Wie hoch ist der Informationsgewinn des Attributwertes?

Wenn ein Attribut A eine Menge entsprechend seiner m Werte in m Teilmengen aufteilt, dann ist seine Entropie E(A) der gewichtete Durchschnitt der „erwarteten Information“ aller Teilmengen entsprechend obiger Formel.

Der Informationsgewinn des Attributwertes ist dann:

Gewinn (A) = I (h1, h2, ..., hn) - E(A)

(3)

Beispiel für Konzept-Charakterisierung (1)

1. Anfrage in DMQL:

use Big-University-DB

mine characteristics as "Science-Students"

in relevance to name, gender, major, birth_place, birth_date, residence, phone#, gpa

from student

where status in "graduate"

2. Transformation in SQL:

use Big-University-DB

select name, gender, major, birth_place, birth_date, residence, phone#, gpa

from student

where status in {„M.Sc“, „M.A“ „ M.B.A.", „Ph.D."}

3. Initiale Daten aller graduate-Studenten

(4)

4

Beispiel für Konzept-Charakterisierung (2)

4. Attribut-orientierte Induktion

Name: viele Werte ohne Hierarchie Æ entfällt Geschlecht: 2 Werte ohne Hierarchie Æ behalten

Studienfach: 20 Werte (Schwellwert sei 5) mit Hierarchie (arts, engineering, business) Æ generalisiert

Geburtsort: viele Werte mit Hierarchie (Stadt < Bundesstaat <

Land {Kanada, Ausland}) Æ generalisiert

Geburtstag: viele Werte mit Hierarchie (Geburtstag < Alter <

Altersgruppe) Æ generalisiert

Wohnort: viele Werte mit Hierarchie Æ generalisiert Telefon#: viele Werte ohne Hierarchie Æ entfällt

Punkte: viele Werte mit Hierarchie (Punkte < Punktinter- vall > Note) Æ generalisiert

5. Generalisierte Daten der graduate-Studenten

(5)

Beispiel für Konzept-Charakterisierung (3)

6. Berechnung der Kontrastmenge für Relevanzanalyse Kontrastmenge: nicht graduate, d.h. undergraduate

Kontrastmenge (undergraduate, ohne residence_city):

Zielmenge (graduate, ohne residence_city):

7. Berechnung des Informationsgewinn der Attribute:

I (grad, ugrad) = I (120, 130) =

- 120/250 log2 (120/250) - 130/250 log2 (130/250) = 0,9988 Informationsgehalt von Studienfach (major):

major = science Sgrad = 84 Sugrad = 42 I(Sgrad, Sugrad) = 0,92 major = engine Egrad = 36 Eugrad = 46 I(Egrad, Eugrad) = 0,99 major = business Bgrad = 0 Bugrad = 42 I(Bgrad, Bugrad) = 0

Entropie(major) = 126/250 * 0,92 + 82/250 * 0,99 + 42/250 * 0 = 0,79 Entropiegewinn (major) = 0,9988 – 0,79 = 0,21

Entropiegewinn (gender) = 0,0003 Entropiegewinn (birth_country) = 0,04 Entropiegewinn (gpa) = 0,45

Entropiegewinn (age) = 0,60

(6)

6

Beispiel für Konzept-Charakterisierung (4)

8. Auswahl von Attributen mittels Relevanz-Schwelle

Relevanzschwelle = 0,1 Æ gender und birth_country fallen raus.

Ergebnis: Graduate Studenten werden durch die Attribute:

• Studienfach (major)

• Altersgruppe (age_range)

• Noten (gpa)

am besten charakterisiert.

(7)

Konzept-Vergleich

Gleiche Vorgehensweise wie bei Konzept-Charakterisierung, wobei die Vergleichsklasse explizit festgelegt ist. Sie wird auf das gleiche Niveau abstrahiert wird und im Ergebnis

mitausgegeben.

Beispiel: Vergleich zwischen graduate und undergraduate:

Graduate:

Undergraduate:

(8)

8

Statistische Maße zur Beschreibung von Datenmengen

Gegeben sei eine Menge von (numerischen) Daten. Diese kann durch folgende Parameter beschrieben werden:

Durchschnitt (mean): Summe / Anzahl

Standardabweichung: √ 1/(n-1) ∑(i=1 .. n) (xi – xmittel )2 Median: Mittlere Wert in sortierter Liste

1. Quartil: 25% der Werte sind kleiner

2. Quartil: Median, 50% der Werte sind kleiner bzw. größer 3. Quartil: 75% der Werte sind kleiner

Minimum: kleinster Wert Maximum: größter Wert

Box-Plot: 5-Zahlen-Zusammenfassung: Min, 1Q, Median, 3Q, Max

(9)

Finden von Assoziationsregeln

Datenmaterial: Transaktionen (z.B. Warenkörbe)

Ziel: Herausfinden von Assoziationsregeln über den Elementen in Transaktionen, z.B. welche

Waren zusammen gekauft werden

Beispielregel: Wenn Computer dann auch Finanzsoftware

support = 2%, d.h. die Regel ist für 2% aller Transaktionen relevant.

confidence = 60%, d.h. die Schlussfolgerung stimmt in 60% aller relevanten Transaktionen.

Interessantheit wird meist so definiert, dass die Regeln einen minimalen support und eine minimale confidence haben müssen.

support (A Æ B) = P (A ∪ B) confidence (A Æ B) = P (B|A)

(10)

10

Vorgehensweise

Finden von Assoziationsregeln ist ein zweistufiger Prozess:

1. Finde alle häufigen Itemsets (support > Schwellwert1)

2. Generiere aus häufigen Itemsets starke Assoziationsregeln (confidence > Schwellwert2)

Der zweite Schritt ist relativ einfach. Der erste Schritt bestimmt den Gesamtaufwand.

(11)

Apriori-Algorithmus

Motivation: Wenn zu einem itemset I ein item A hinzugefügt wird, dann gilt: I ∪ A kann nicht häufiger sein als I alleine!

Daher verringert sich die Häufigkeit in jeder Ebene (oder bleibt gleich).

Vorgehensweise: Iterativer Ansatz, der ebenenweise vorgeht:

Erst alle häufigen 1-elementigen Elementmengen (1-itemsets) berechnen, dann alle häufigen 2-itemsets, wobei die häufigen k-itemsets zum Finden der häufigen (k+1)-itemsets benutzt werden (dabei werden die itemsets lexikografisch sortiert):

1. Erweiterungsschritt: Bilde aus je 2 k-itemsets, deren erste (k-1) items gleich sind, ein (k+1)-itemset (ohne Duplikate).

2. Logik-Filterschritt: Lösche aus den (k+1)Kandidaten alle heraus, die irgendeine k-Teilmenge enthalten, die nicht häufig ist. Da alle häufigen Teilmengen bereits vorher

berechnet wurden, kann man sie zur Effizienzsteigerung in einer Hash-Tabelle speichern.

3. Zähl-Filterschritt: Für die übriggebliebenen Kandidaten wird deren Häufigkeit gezählt und entsprechend gefiltert.

(12)

12

Beispiel Apriori-Algorithmus (1)

Input mit Transaktionsdaten:

(13)

Beispiel Apriori-Algorithmus (2)

Vorgehensweise:

1. Zählen der Häufigkeit aller 1-itemsets

2. Berechnung der häufigen 1-itemsets (Schwelle sei ≥ 2) 3. Erweiterung der Kandidaten für 2-itemsets

4. Logik-Filtern: liefert keine Einschränkung 5. Zählen der Häufigkeit aller 2-itemsets 6. Berechnung der häufigen 2-itemsets

7. Erweiterung der Kandidaten für 3-itemsets {(I1, I2, I3) (I1, I2, I5) (I1, I3, I5) (I2, I3, I4) (I2, I3, I5) (I2, I4, I5)}

8. Logik-Filtern: Übrig bleiben nur {(I1, I2, I3) (I1, I2, I5)}

9. Zählen der Häufigkeit beider 3-itemsets

10. Berechnung der häufigen 3-itemsets: liefert keine Einschränkung 11. Erweiterung der Kandidaten für 4-itemsets {(I1, I2, I3, I5)}

12. Logik-Filtern: Kandidat wird ausgefiltert, da Teilmenge (I2, I3, I5) nicht häufig.

(14)

14

Apriori-Algorithmus: Regelgenerierung

für jedes häufige Itemset werden alle Regeln ausprobiert und überprüft, ob der confidence > Schwellwert ist (der support ist für alle Regeln gleich).

confidence (A Æ B) = P (B|A) =

support_count (A ∪ B) / support_count (A)

Generierung der Regeln:

1. Generiere alle nichtleeren Teilmengen T des Itemset I.

2. Generiere daraus die Regel T Æ (I – T)

3. Überprüfe, ob die confidence der Regel größer als der Schwellwert ist.

Beispiel für Itemset (I1, I2, I5):

1. Teilmengen: {(I1), (I2), (I5), (I1, I2), (I1, I5), (I2, I5)}

2. + 3. Regeln mit confidence:

I1 & I2 Æ I5 confidence 2/4 = 50%

I1 & I5 Æ I2 confidence 2/2 = 100%

I2 & I5 Æ I1 confidence 2/2 = 100%

I1 Æ I2 & I5 confidence 2/6 = 33%

I2 Æ I1 & I5 confidence 2/7 = 29%

I5 Æ I1 & I2 confidence 2/2 = 100%

Angenommen der confidence-Schwellwert liegt bei 70%. Dann bleiben nur die 2., 3., und 6. Regel übrig.

(15)

Effizienzsteigerung des Apriori- Algorithmus

1. Verwendung von Hash-Tabellen für Logik-Filterschritt (s.o.) 2. Reduktion der Transaktionen, die nicht in mindestens einem

häufigen Itemset vorkommen: verbessert den Zähl-Filterschritt.

3. Partitionierung der Transaktionen in Teildatenbanken, die jeweils in den Hauptspeicher passen.

4. Arbeiten mit repräsentativen Teilmengen der Transaktionen ...

(16)

16

Probleme des Apriori-Algorithmus

• Potentiell große Kandidatenmengen, z.B. bei 10 000

häufigen 1-itemsets müssen mehr als 10 Millionen 2-itemsets generiert und getestet werden.

• Mehrfache Überprüfung der Datenbank zum Zählen

relevanter Transaktionen, insbesondere bei n-itemsets mit großem n.

Alternativ-Algorithmus: Frequent-Pattern-Growth (FP-Growth) Erstelle aus der Menge der häufigen itemsets einen frequent-

pattern-Baum (FP-Baum), der anstelle der Transaktionsdaten- bank weiterbearbeitet wird (wesentlich effizienter).

(17)

Frequent Pattern Growth Algorthmus

1. Datenbankdurchlauf: Berechne 1-item Mengen und sortiere sie nach Häufigkeit (sortierte Liste L).

2. Datenbankdurchlauf:

2.1. Starte mit einen Null-Knoten 2.2. Für jede Transaktion tue

2.2.1. Sortiere die Items nach Häufigkeit (L)

2.2.2. Baue einen Pfad auf, der aus den Items besteht 2.2.3. Falls ein Item schon vorkommt, erhöhe Zähler

ansonsten verzweige baumartig.

Beispiel für 2. Schritt:

1. Transaktion (I1, I2, I5): Pfad: null → I2 (1) → I1 (1) → I5 (1) 2. Transaktion (I2, I4): erhöhe Zähler von I2 auf 2 und

verzweige von dort nach I4 mit Zähler 1.

3. Transaktion (I2, I3): erhöhe Zähler von I2 auf 3 und verzweige von dort nach I3 mit Zähler 1

4. Transaktion (I1, I2, I4): erhöhe Zähler von I2 auf 4, von I1 auf 2 und füge neue Verzweigung für I4 ein (mit Zähler 1), die mit altem I4 verbunden wird.

….

Fertige Struktur für alle 9 Transaktionen:

(18)

18

Generierung häufiger Itemsets aus FP- Baum

Für jedes 1-Itemset in umgekehrter Häufigkeitsreihenfolge tue:

1. Konstruiere seine „conditional pattern base” (Menge aller Prefix-Pfade)

2. Konstruiere seinen “conditional FP-tree” (Reduktion der Pfade aufgrund des minimalen Supports (hier 2), wobei bereits abgearbeitete Items (deswegen umgekehrte Reihenfolge) ignoriert werden können.

3. Generierung des Ergebnisses (frequent patterns).

Beispiel:

(19)

Frequent-Pattern-Growth Algorithmus

(20)

20

Berücksichtigen von Konzepthierarchien

Problem: Interessante Assoziationsregeln finden sich möglicher- weise auf höheren Abstraktionsebenen (z.B. Produktgruppen), da bei konkreten Items (z.B. Produkten) der support sehr klein sein kann.

Lösung: Benutzen von Konzepthierarchien mit Top-Down-Ansatz, d.h. zunächst nur Berücksichtigung des Top-Level, dann

Verfeinerung.

Wenn bei allen Ebenen die gleiche Support-Schwelle gilt, ist ein effektives Abschneiden von unteren Zweigen möglich, wenn der übergeordnete Knoten einen zu niedrigen Support hat (da der Support nach unten nur kleiner werden kann).

Wenn unterschiedliche Support-Schwellen gelten, kann man Heuristiken zum Abschneiden verwenden.

(21)

Weitere Aspekte

Multidimensionale Assoziationsregeln, z.B. Alter (X, 20-29)

& Beruf (X, student) Æ kauft (X, Laptop) Æ Konstruktion eines entsprechenden Data Cube mit Analyse

Finden quantitativer Assoziationsregeln (u.a. Finden von Intervallen, z.B. Binning)

Berücksichtigung von Korrelationen, z.B. kauft (X, Computer-Spiele) Æ kauft (X, Videos) [support 40%,

confidence = 60%] kann irreführend sein, wenn z.B. kauft (X, Videos) einen support von 75% hat.

Constraint-basiertes Finden von Assoziationsregeln (z.B.

durch Metaregeln geführt)

Referenzen

ÄHNLICHE DOKUMENTE

4(a)-(b) demonstrates the experimental results of the RPP and RP-growth algorithms in terms of time and memory consumption. The graphs illustrate that the proposed RPP algorithm

The main problem we study in this paper is the fol- lowing: Given a minimal frequency threshold and a min- imal window length, for an evolving stream S, main- tain a small summary

Our approach has the following advantages: using a data structure similar to lattice for keeping frequent itemsets, separating regions from each other with deleting common nodes

Our experiments show that our algorithm not only attains highly accurate mining results, but also runs significantly faster and consumes less memory than do existing algorithms

Im Beispiel der Abbildung 3 besteht jede der vier Stützwände zuäußerst aus 5 grauen Würfeln, dann folgen 3 graue Würfel und zuinnerst ist noch ein grauer Würfel..

Lungenkarzinome eine schwache, aber signifikante negative Korrelation zwischen Ki-67 und p27 Kip1 zeigen, auch wenn beide Marker für sich genommen nicht mit dem

Minimalinvasive Operationstechniken wurden über die letzten zwei Jahrzehnte immer weiterentwickelt. Auch technisch anspruchsvolle Myomchirurgie wurde in Folge zunehmend

Patienten mit vielen Exazerbationen sind in der Regel sym - ptomatisch und gehören zur Gruppe D (viele Symptome und mehr als 2 nicht spitalpflichtige oder mehr als 1 spitalpflich-