Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Frequent Itemsets

Avatar for janoberst janoberst
December 05, 2011
27

Frequent Itemsets

Avatar for janoberst

janoberst

December 05, 2011
Tweet

Transcript

  1. 2 Überblick 1.Im Supermarkt: Einsatzgebiete 2. Erste Aufgabe: Mengen zählen

    3. Knackpunkt: Teilmengen 4. Optimierungen 5. Zweite Aufgabe: Regeln bauen
  2. 3

  3. “Wer Kaffee und Marmelade kauft, der kauft eventuell auch Toastbrot

    und Butter” Kaffee, Marmelade ➝ Toastbrot, Butter 7
  4. Plastiktüte ➝ Milch? Plastiktüte ➝ Bananen? Plastiktüte ➝ Kaffee? 10

    “Wer eine Plastiktüte kauft, der kauft eventuell auch Milch”
  5. Confidence 11 “Eindeutigkeit” Wie selten wird etwas nicht zusammen gekauft

    Plastiktüte ➝ Milch niedrige Confidence 30-jähriger Whisky ➝ Eispickel hohe Confidence niedriger support hoher support
  6. Wie oft wurden Kaffee und Marmelade zusammen gekauft? Wie oft

    wurde Kaffee nicht mit Marmelade gekauft? Support für eine Menge von Produkten ist die Häufigkeit der Menge geteilt durch die Anzahl aller Einkäufe. 12 support({Kaffee,Marmelade}) = #{Kaffee,Marmelade} / #Total confidence(Kaffee➝Marmelade) = #{Kaffee,Marmelade} / #{Kaffee} confidence(L➝R) = #{L,R} / #{L} Confidence für eine Regel ist die Häufigkeit von Bedingung und Folge gemeinsam, geteilt durch die Häufigkeit der Bedingung
  7. “Wer Kaffee kauft, der kauft eventuell auch Marmelade” {Kaffee, Marmelade}

    13 Daten Kaffee, Marmelade,Tee Kaffee, Marmelade, Toastbrot Kaffee, Marmelade, Müsli, Toastbrot, Tee Kaffee, Tee, Toastbrot Marmelade, Tee, Toastbrot Kaffee, Marmelade,Toastbrot Kaffee, Müsli, Toastbrot
  8. 14 Überblick 1. Im Supermarkt: Einsatzgebiete 2.Erste Aufgabe: Mengen zählen

    3. Knackpunkt: Teilmengen 4. Optimierungen 5. Zweite Aufgabe: Regeln bauen
  9. 15 Alle Mengen (auch große), die oft genug gemeinsam gekauft

    werden, automatisch entdecken. Erster Teil:
  10. Produkte Kaffee Marmelade Müsli Tee Toastbrot Einkäufe Kaffee, Marmelade,Tee Kaffee,

    Marmelade, Toastbrot Kaffee, Marmelade, Müsli, Toastbrot, Tee Kaffee, Tee, Toastbrot Marmelade, Tee, Toastbrot Kaffee, Marmelade,Toastbrot Kaffee, Müsli, Toastbrot 16 Nur support zählt, mindestens 40% Aufgabe: 1er, 2er, 3er, 4er, 5er Produkt-Teilmengen
  11. {Kaffee, Marmelade} {Kaffee, Müsli} {Kaffee, Tee} {Kaffee, Toastbrot} {Marmelade, Müsli}

    {Marmelade, Tee} {Marmelade, Toastbrot} {Müsli, Tee} {Müsli, Toastbrot} {Tee, Toastbrot} Kaffee, Marmelade,Tee Kaffee, Marmelade, Toastbrot Kaffee, Marmelade, Müsli, Toastbrot, Tee Kaffee, Tee, Toastbrot Marmelade, Tee, Toastbrot Kaffee, Marmelade,Toastbrot Kaffee, Müsli, Toastbrot Kaffee, Marmelade,Tee Kaffee, Marmelade, Toastbrot Kaffee, Marmelade, Müsli, Toastbrot, Tee Kaffee, Tee, Toastbrot Marmelade, Tee, Toastbrot Kaffee, Marmelade,Toastbrot Kaffee, Müsli, Toastbrot Kaffee, Marmelade,Tee Kaffee, Marmelade, Toastbrot Kaffee, Marmelade, Müsli, Toastbrot, Tee Kaffee, Tee, Toastbrot Marmelade, Tee, Toastbrot Kaffee, Marmelade,Toastbrot Kaffee, Müsli, Toastbrot Kaffee, Marmelade,Tee Kaffee, Marmelade, Toastbrot Kaffee, Marmelade, Müsli, Toastbrot, Tee Kaffee, Tee, Toastbrot Marmelade, Tee, Toastbrot Kaffee, Marmelade,Toastbrot Kaffee, Müsli, Toastbrot 57% 28% 28% 71% 14% 42% 57% 14% 14% 42% 17 2er Teilmengen Kombinationen Produkte Kaffee Marmelade Müsli Tee Toastbrot
  12. {Kaffee, Marmelade, Müsli} {Kaffee, Marmelade, Tee} {Kaffee, Marmelade, Toastbrot} {Kaffee,

    Müsli, Tee} {Kaffee, Müsli, Toastbrot} {Kaffee, Tee, Toastbrot} {Marmelade, Müsli, Tee} {Marmelade, Müsli, Toastbrot} {Marmelade, Tee, Toastbrot} {Müsli, Tee, Toastbrot} 14% 28% 42% 14% 14% 14% 14% 14% 28% 14% Eine Menge signifikant aber 10 berechnet 18 3er Teilmengen Kombinationen
  13. {Kaffee, Marmelade, Müsli, Tee} {Kaffee, Marmelade, Müsli,Toastbrot} {Kaffee, Marmelade, Tee,Toastbrot}

    {Kaffee, Müsli, Tee,Toastbrot} {Marmelade, Müsli, Tee,Toastbrot} 14% 14% 14% 14% 14% Keine Menge Signifikant haben 5 berechnet 19 4er Teilmengen Kombinationen Einkäufe Kaffee, Marmelade,Tee Kaffee, Marmelade, Toastbrot Kaffee, Marmelade, Müsli, Toastbrot, Tee Kaffee, Tee, Toastbrot Marmelade, Tee, Toastbrot Kaffee, Marmelade,Toastbrot Kaffee, Müsli, Toastbrot
  14. “Fast Algorithms for Mining Association Rules” 20th Int'l Conf. on

    Very Large Data Bases, Santiago, Chile, Sept. 1994 Apriori / AprioriTID 5000+ Google Citations / 910 Citeseer VLDB 2004 Ten Year Best Paper Award #2 most cited in Database Systems #15 most cited in Computer Science 21
  15. 1994: IBM Almaden Research Center 2008: Head of Microsoft Research:

    Search Labs • #1 most cited author, database systems • 150 Papers, 60 Patente, 7073+ Citations • Quest, DB2 im IBM Almaden Research Center Rakesh Agrawal 22
  16. • PhD Student von Agrawal • M.S., PhD University of

    Wisconsin, Madison • 30 Papers, 19 Patente, 3522+ Citations 1994: IBM Almaden Research Center 2008: Senior Staff Research Scientist, Google Ramakrishnan Srikant 23
  17. 24 Überblick 1. Im Supermarkt: Einsatzgebiete 2. Erste Aufgabe: Mengen

    zählen 3.Knackpunkt: Teilmengen 4. Optimierungen 5. Zweite Aufgabe: Regeln bauen
  18. Zusätzlicher Aufwand 25 {Kaffee, Marmelade, Müsli} {Kaffee, Marmelade, Tee} {Kaffee,

    Marmelade, Toastbrot} {Kaffee, Müsli, Tee} {Kaffee, Müsli, Toastbrot} {Kaffee, Tee, Toastbrot} {Marmelade, Müsli, Tee} {Marmelade, Müsli, Toastbrot} {Marmelade, Tee, Toastbrot} {Müsli, Tee, Toastbrot} 14% 28% 42% 14% 14% 14% 14% 14% 28% 14%
  19. 26 Kaffee, Marmelade, Toastbrot 42% 57% 28% 28% 71% 14%

    42% 57% 14% 14% 42% Alle 2er Teilmengen: Kaffee, Marmelade Kaffee, Müsli Kaffee, Tee Kaffee, Toastbrot Marmelade, Müsli Marmelade, Tee Marmelade, Toastbrot Müsli, Tee Müsli, Toastbrot Tee, Toastbrot
  20. 27 Kaffee, Marmelade, Toastbrot 42% Kaffee, Marmelade Kaffee, Müsli Kaffee,

    Tee Kaffee, Toastbrot Marmelade, Müsli Marmelade, Tee Marmelade, Toastbrot Müsli, Tee Müsli, Toastbrot Tee, Toastbrot 57% 28% 28% 71% 14% 42% 57% 14% 14% 42% Alle Teilmengen: large
  21. Bedingung: Wenn Menge mit 3 Elementen ist signifikant genug dann

    alle 2er Teilmengen bereits signifikant genug dann alle 1er Teilmengen bereits signifikant genug
  22. 1er Mengen {Kaffee} {Marmelade} {Müsli} {Tee} {Toastbrot} 85% 71% 28%

    57% 85% 30 Schritt 1 1er Mengen zählen Einkäufe Kaffee, Marmelade,Tee Kaffee, Marmelade, Toastbrot Kaffee, Marmelade, Müsli, Toastbrot, Tee Kaffee, Tee, Toastbrot Marmelade, Tee, Toastbrot Kaffee, Marmelade,Toastbrot Kaffee, Müsli, Toastbrot
  23. 2er Mengen {Kaffee, Marmelade} {Kaffee, Tee} {Kaffee, Toastbrot} {Marmelade, Tee}

    {Marmelade, Toastbrot} {Tee, Toastbrot} 57% 28% 71% 42% 57% 42% 31 Kombinieren signifikante 1er Mengen zu 2er Kandidaten Schritt 2 Einkäufe Kaffee, Marmelade,Tee Kaffee, Marmelade, Toastbrot Kaffee, Marmelade, Müsli, Toastbrot, Tee Kaffee, Tee, Toastbrot Marmelade, Tee, Toastbrot Kaffee, Marmelade,Toastbrot Kaffee, Müsli, Toastbrot
  24. 2er Mengen {Kaffee, Marmelade} {Kaffee, Müsli} {Kaffee, Tee} {Kaffee, Toastbrot}

    {Marmelade, Müsli} {Marmelade, Tee} {Marmelade, Toastbrot} {Müsli, Tee} {Müsli, Toastbrot} {Tee, Toastbrot} 57% 14% 28% 71% 14% 42% 57% 14% 14% 42% 32 Kombinieren signifikante 1er Mengen zu 2er Kandidaten Schritt 2 Einkäufe Kaffee, Marmelade,Tee Kaffee, Marmelade, Toastbrot Kaffee, Marmelade, Müsli, Toastbrot, Tee Kaffee, Tee, Toastbrot Marmelade, Tee, Toastbrot Kaffee, Marmelade,Toastbrot Kaffee, Müsli, Toastbrot
  25. 33 3er Mengen {Kaffee, Marmelade, Tee} {Kaffee, Marmelade, Toastbrot} {Kaffee,

    Tee, Toastbrot} {Marmelade, Tee, Toastbrot} 28% 42% 14% 28% um eine zu finden 4 Kandidaten Schritt 3 {Kaffee, Marmelade} {Kaffee, Tee} {Kaffee, Toastbrot} {Marmelade, Tee} {Marmelade, Toastbrot} {Tee, Toastbrot} Kombinieren signifikante 2er Mengen zu 3er Kandidaten: Einkäufe Kaffee, Marmelade,Tee Kaffee, Marmelade, Toastbrot Kaffee, Marmelade, Müsli, Toastbrot, Tee Kaffee, Tee, Toastbrot Marmelade, Tee, Toastbrot Kaffee, Marmelade,Toastbrot Kaffee, Müsli, Toastbrot
  26. 34 Schritt 4 {Kaffee, Marmelade, Toastbrot} Kombinieren signifikante 3er Mengen:

    4er Mengen - Fertig! keine Kandidaten Einkäufe Kaffee, Marmelade,Tee Kaffee, Marmelade, Toastbrot Kaffee, Marmelade, Müsli, Toastbrot, Tee Kaffee, Tee, Toastbrot Marmelade, Tee, Toastbrot Kaffee, Marmelade,Toastbrot Kaffee, Müsli, Toastbrot
  27. 35 Ergebnis 1er Mengen {Kaffee} {Marmelade} {Tee} {Toastbrot} 85% 71%

    57% 85% 2er Mengen {Kaffee, Marmelade} {Kaffee, Toastbrot} {Marmelade, Tee} {Marmelade, Toastbrot} {Tee, Toastbrot} 57% 71% 42% 57% 42% 3er Mengen {Kaffee, Marmelade, Toastbrot} 42% Einkäufe Kaffee, Marmelade,Tee Kaffee, Marmelade, Toastbrot Kaffee, Marmelade, Müsli, Toastbrot, Tee Kaffee, Tee, Toastbrot Marmelade, Tee, Toastbrot Kaffee, Marmelade,Toastbrot Kaffee, Müsli, Toastbrot
  28. 36 5.000 Produkte 200.000 Einkäufe • 12,5 Millionen 2er Mengen

    • 20,8 Milliarden 3er Mengen • 1012 4er Mengen • 1015 5er Mengen • 1018 6er Mengen • 100.000 2er Mengen • <100 3er Mengen • <30 4er Mengen • <10 5er Mengen • Keine 6er Mengen Alle Teilmengen bilden Apriori
  29. 37 Überblick 1. Im Supermarkt: Einsatzgebiete 2. Erste Aufgabe: Mengen

    zählen 3. Knackpunkt: Teilmengen 4.Optimierungen 5. Zweite Aufgabe: Regeln bauen
  30. 38 ‣Für 10 5er Itemsets dann 200.000 Tupel ‣alle 200.000

    Tupel lesen ‣in jedem Tupel: Kandidaten zählen Komplette Relation für jede Größe der Itemsets neu lesen
  31. 39 Einkauf #1 [ {Kaffee, Marmelade, Tee} ] Einkauf #2

    [ {Kaffee, Marmelade, Toastbrot} ] Einkauf #3 [ {Kaffee, Marmelade, Toastbrot}, {Kaffee, Marmelade, Tee}, {Marmelade, Tee, Toastbrot} ] Einkauf #4 [ {Kaffee, Tee, Toastbrot} ] Einkauf #5 [ {Marmelade, Tee, Toastbrot} ] Einkauf #6 [ {Kaffee, Marmelade, Toastbrot} ] Einkauf #7 [ {Kaffee, Müsli, Toastbrot} ] ➡ AprioriTID ➡ Besser: Kandidaten vorrausberechnen ‣Nur “notwendige” speichern ‣Eventuell im RAM
  32. 41 1. Im Supermarkt: Einsatzgebiete 2. Erste Aufgabe: Mengen zählen

    3. Knackpunkt: Teilmengen 4. Optimierungen 5.Zweite Aufgabe: Regeln bauen Überblick
  33. 42 {Kaffee, Marmelade, Toastbrot} #{Kaffee, Marmelade, Toastbrot} / #{Kaffee, Marmelade}

    3 / 4 = 75% confidence(L➝R) = #[L,R] / #[L] #{Kaffee, Marmelade, Toastbrot} / #{Kaffee} 3 / 6 = 50% #{Marmelade, Toastbrot} / #{Marmelade} 5 / 5 = 100% Kaffee ➝ Marmelade, Toastbrot Marmelade ➝ Toastbrot Kaffee, Marmelade ➝ Toastbrot
  34. 43 Überblick 1. Anwendung: Supermarkt 2. Zwei Teile • Mengen

    finden • Regeln bauen 3. Nützliche Regeln: Maß • Support • Confidence 4. Teilmengen 1. Menge large: alle Untermengen sind large 2. Menge nicht large: Obermenge auch nicht 5. Optimierungen 1. AprioriTID 2. AprioriHybrid
  35. 44