• Keine Ergebnisse gefunden

3. Literaturüberblick

3.2. Generalisierte Assoziationsregeln

3.2.5. Ansatz von Psaila und Lanzi

3.2.5.5. Generalisierungsoperatoren und Verbände

Zwei Operatoren für die Generalisierung werden definiert: Einer, der die Gruppenattribute generalisiert, und ein anderer, der die mined(Regel-)-Attribute generalisiert.

Definitionen 23

Gegeben seien ein Datenbankschema S und zwei simplified-Metapatternsp1, p2. Der Operator g(p1)= p2, wird Generalisierungsoperator des Gruppierungsattributes genannt und generalisiertp1zu p2.

Analog,↑r(p1)= p2heißt Generalisierungsoperator des Regelattributes und generalisiert p1zu p2.

Das Ziel dieser Operatoren ist, einen Formalismus zu schaffen, der die Generalisierungsbeziehung unter Metapatterns abbildet.

Es sei pbein simplified Metapattern, das nur aus den Attributen der Fakttabelle besteht. Dann wird es Basic-Metapattern genannt, weil es nicht mit Generalisierungsoperatoren abgeleitet werden kann.

pb sei ein solches Pattern. Das Generalisierungsverhältnis L wird dann so definiert:

23 Bemerkung: es ist fraglich, ob es tatsächlich in allen Situationen und für alle Daten ein passender Wert ist. Die Güte und die Genauigkeit dieser Metrik kann man in praktischen Experimenten noch mal überprüfen. Siehe dazu das spätere Kapitel 5.5

} , { ) ( ) ( )

(p P p P p g r

L bb × b × ↑ ↑ , wo P(pb)die Menge der Metapatterns ist, die die Generalisierung von pbvereint mit pb ist. Der Tupel (p1,p2,↑ g)∈L(pb) (bzw.

) ( ) , ,

(p1 p2rL pb ) genau dann, wenn ↑g(p1)= p2(bzw. ↑r(p1)= p2).

Dabei ist L(pb)ein Verband.

Beispielsweise sieht ein mit dem Basic-Metapattern pb =(T,cust,item) abgeleiteter Verband wie in Abbildung 14 aus. Man sieht, dass im Verband alle möglichen Kombinationen von beiden Attributhierarchien vorhanden sind. Die Operatoren eignen sich deshalb gut, um mehrere Hierarchien miteinander zu verbinden.

Kurz kann man das Verfahren von Psaila und Lanzi so zusammenfassen:

Man bildet alle möglichen Kombinationen aus den vorhandenen Hierarchien und bekommt dabei alle möglichen simplified-Metapatterns. Das erreicht man durch die Anwendung von Generalisierungsoperatoren.

Um festzustellen, welches oder welche von den gebildeten Metapatterns „gut“ sind, berechnet man die Metrik f und wendet sie so an: man bewegt sich von den weniger zu den mehr generalisierten Metapatterns in dem Metapattern-Verband, und zwar so lange, bis die Metrik f über dem vorher vorgegebenen Grenzwert liegt. Wegen der Monotonieeigenschaft von f ist es nicht notwendig, weiter zu gehen.

Erst dann sucht man die Regeln mit den „guten“ Metapatterns. Die Suche kann z. B. mit Apriori und mit Hilfe der Metapatterns gebildeten „neuen“ Transaktionen durchgeführt werden, wie im Kapitel 5.6 beschrieben ist.

<T,cust, item>

<T, cust →city, item> <T, cust, item → sub-cat>

<T, cust → region,item> <T, cust, item → cat>

<T, cust → city, item →sub-cat>

<T, cust → region, item →sub-cat> <T, cust → city, item → cat>

<T, cust → region, item → cat>

Abbildung 14 Verband aus Kunden- und Artikelattributen

3.2.5.6. Diskussion

Den Ansatz Psaila und Lanzi kann man als eine Verallgemeinerung der vorherigen Ansätze sehen. Die Autoren haben versucht, eine vom Mining-Algorithmus unabhängige Sichtweise auf die generalisierten Regeln zu schaffen. Der Idee, dass man bei der Regelentdeckung im Prinzip nicht an Parameter gebunden sein soll, sondern einfach nach bestimmten Mustern in den Daten suchen will und diese erst dann genau untersucht, ist entscheidend. Die Metapatterns, insbesondere die simplified Metapatterns stellen die formale Basis für diese Idee dar und sind eine Art von „mining queries“.

Während die anderen Autoren immer nur die Hierarchie auf Basis der Artikelattribute benutzen bzw. bilden, wird bei Psaila und Lanzi die Kundeninformation für die Bildung einer zusätzlichen Hierarchie herangezogen. Ein anderer interessanter Unterschied besteht in der Sichtweise auf die Bedeutung der Transaktionen: Die Autoren gruppieren die Käufe z. B.

nach Kunden, unabhängig vom Zeitpunkt des Zustandekommens der Käufe. D. h., wenn ein Kunde mehrere Transaktionen im gewöhnlichen Sinne getätigt hat, werden diese als eine generalisierte Transaktion interpretiert. (Siehe den linken Teil der Tabelle 1, die Transaktionen sind nach customer-id gruppiert.) Wenn man dann eine Regel „Artikel A ⇒ Artikel B (s=x, c=y)“ verwendet, dann heißt es lediglicht, dass Kunden, die irgendwann den Artikel A gekauft haben, irgendwann auch den Artikel B (mit Support=x und Confidence=y) gekauft haben. Der zeitliche Zusammenhang ist nicht mehr gegeben. Würde man aber nach Datum und Kunden gruppieren, so würde sich wieder die herkömmliche Form der Transaktionen ergeben. Somit sind die konventionellen Transaktionen ein Spezialfall dieser allgemeinen Gruppierungsmethode. Man sollte sich im Klaren sein, dass diese Art der Gruppierung die Transaktionen prinzipiell verändert, so dass die Support- und Confidence-Werte geändert werden. Folgende Situation, die in Tabelle 2 dargestellt ist, illustriert die Aussage:

Kunde Ursprungliche Transaktion Nach Kunden gruppierte Transaktion Kunde1 A, B, D, K, L, O

Kunde1 A, E, D, M Kunde1 B, O

A, B, D, E, K, L, M, O

Kunde2 … Kunde2 …

Tabelle 2 Gruppierung der Transaktionen

Wie man sieht, verschwindet nach der Gruppierung die Information, dass die Artikel A, B, D, und O von Kunde 1 mehrmals gekauft wurden, sprich höheren Support hatten. Auch die Bedeutung ist anders: der Kunde1 hat irgendwann die Produkte A, B, C, D, K, L M, O gekauft, und zwar wirklich irgendwann und nicht unbedingt zusammen, d. h. die Formulierung ist ziemlich allgemein.

Das Konzept der Gruppierungsattribute ermöglicht dem Benutzer, über jedes mögliche Attribut zu generalisieren. So ist dem Benutzer überlassen, wie er die Hierarchie bildet. Was bringt diese beliebige Gruppierung? Je nachdem, an welchen Regelmäßigkeiten oder Unregelmäßigkeiten in Transaktionsdaten der Benutzer interessiert ist, kann er gezielt danach suchen: Ist der Benutzer z. B. an Zusammenkäufen einer Produktgruppe von Kunden aus einer bestimmten Stadt interessiert, kann er die Daten nach diesen beiden Attributen gruppieren und die Regel, die zu dem so formulierten Metapattern passt, suchen. Die Anwendung der konventionellen Parametern im Anschluss kann die Ergebnisse noch weiter verbessern.

Bei dem Verfahren bleibt allerdings noch offen, was passiert, wenn mehrere Patterns durch die Bewertung mit f als „gut“ bezeichnet werden. Mit welchem oder welchen Pattern soll man dann die Regelsuche durchführen? Mit einem, allen, oder mit einem der freien Wahl?

Ist es überhaupt sinnvoll, alle möglichen Hierarchiekombinationen zu berechnen, oder sollte man lieber wie Li und Sweeney nur die vorhandenen Daten benutzen, anstatt die allgemeine Struktur zu erzeugen, die sowieso nur teilweise benutzt wird? Denn jede Berechnung bedeutet einen Durchgang über die Datentabelle. Bei den für die Experimente vorliegenden Daten macht es kein Problem aus, kann aber im Allgemeinen zu teuer sein. Die späteren Experimente werden zeigen, ob der Ansatz von Psaila und Lanzi sinnvolle Ergebnisse auf den vorhandenen Daten liefert.