DataMining Informationssysteme,Sommersemester 2017 LiteraturzuData-Mining § Pang-Ning Tan,MichaelSteinbach,Vipin Kuma.Introduction to Data Minig. EinpaarrelevanteKapitelsindfreiverfügbarunter http://www-users.cs.umn.edu/kumar/dmbook/index § MohammedJ.Zaki,WagnerMeira Jr.DataMiningand Analysis. http://www.dataminingbook.info § Jiawei Han,MichelineKamber.DataMining.Concepts and Techniques. IS2017 Kapitel15- DataMining 2 Warenkorbanalyse § Objekte sind:Brot,Milch,Windeln,Bier,Eier § Transaktionen sind:1:{Brot,Milch},2:{Brot,Windeln,Bier,Eier},3:{Milch, Windeln,Bier},4:{Brot,Milch,Windeln,Bier} und5:{Brot,Milch, Windeln} TID Brot Milch 1 1 1 2 1 3 Windeln Bier Eier 1 1 1 1 1 1 1 4 1 1 1 5 1 1 1 § WelcheObjekte(Items)werdenhäufigzusammengekauft? § KönnenwirRegelnangebenderForm:KundendieWindelnkaufen, kaufenauchmeistBier? IS2017 Kapitel15- DataMining 3 DarstellungalsBinärmatrix TID Brot Milch Windeln Bier Eier 1 1 1 0 0 0 2 1 0 1 1 1 3 0 1 1 1 0 4 1 1 1 1 0 5 1 1 1 0 0 Itemsets {Brot,Milch} {Brot,Windeln,Bier,Eier} {Milch,Windeln,Bier} {Brot,Milch,Windeln,Bier} {Brot,Milch,Windeln} IS2017 Kapitel15- DataMining 4 Itemsets § EinItemset isteineMengevonObjekten • EineTransaktion π‘π‘ isteinItemset mitdazugehörigerTransaktions-ID, π‘π‘ = (π‘π‘π‘π‘π‘π‘; πΌπΌ)wobeiπΌπΌ dasItemset derTransaktionist § EineTransaktionπ‘π‘ = (π‘π‘π‘π‘π‘π‘, πΌπΌ) enthälteinItemset ππ fallsππ ⊆ πΌπΌ § DerSupportvonItemset ππ ineinerDatenbankπ·π· istdieAnzahlder Transaktioneninπ·π·,dieππ enthalten: π π π π π π π π (ππ, π·π·) = | π‘π‘ ∈ π·π· βΆ π‘π‘πππππππäππππππ | § DierelativeHäufigkeitvonItemset XinDatenbankDistderSupport relativzurGrößederDatenbank,π π π π π π π π (ππ, π·π·)/|π·π·| § EinItemset isthäufig(frequent),fallsdessenrelativeHäufigkeit über einembestimmtenSchwellwertminfreq liegt. § AlternativkannmanaucheinenSchwellwertminsupp bzgl.desSupports betrachten. IS2017 Kapitel15- DataMining 5 Beispiel TID Brot Milch Windeln Bier Eier 1 1 1 0 0 0 2 1 0 1 1 1 3 0 1 1 1 0 4 1 1 1 1 0 5 1 1 1 0 0 § Itemset {Brot,Milch} hatSupport3 undrelativeHäufigkeit3/5 § Itemset {Brot,Milch,Eier} hatSupportundrelativeHäufigkeit0. § Fürminfreq =1/2habenwirdiefolgendenfrequent itemsets: {Brot},{Milch},{Windeln},{Bier},{Brot,Milch},{Brot,Windeln}, {Milch,Windeln} und{Windeln,Bier}. IS2017 Kapitel15- DataMining 6 AssoziationsregelnundKonfidenz § EineAssoziationsregel isteineRegelderFormππ → ππ,wobeiππ undππ disjunkteItemsets sind(d.h.ππ ∩ ππ = ∅) § Idee:EineTransaktion,dieItemset ππ enthält,enthält(vermutlich)auch Itemset ππ § DerSupporteinerRegelππ → ππinDatenbankπ·π·ist π π π π π π π π ππ → ππ, π·π· = π π π π π π π π ππ ∪ ππ, π·π· § DieKonfidenzderRegelππ → ππinDatenbankπ·π· ist π π π π π π π π ππ ∪ ππ, π·π· ππππππππ ππ → ππ, π·π· = π π π π π π π π ππ, π·π· MitanderenWorten:DieKonfidenzistdiebedingteWahrscheinlichkeit, dasseineTransaktionYenthält,wennsieXenthält. IS2017 Kapitel15- DataMining 7 Beispiel TID Brot Milch Windeln Bier Eier 1 1 1 0 0 0 2 1 0 1 1 1 3 0 1 1 1 0 4 1 1 1 1 0 5 1 1 1 0 0 {π΅π΅π΅π΅π΅π΅π΅π΅, πππππππππ} → {ππππππππππππππ}hatSupport2undKonfidenz2/3 {ππππππππππππππ} → {π΅π΅π΅π΅π΅π΅π΅π΅, πππππππππ}hatSupport2undKonfidenz1/2 {πΈπΈπΈπΈπΈπΈπΈπΈ} → {π΅π΅π΅π΅π΅π΅π΅π΅, ππππππππππππππ, π΅π΅π΅π΅π΅π΅π΅π΅}hatSupport1undKonfidenz1 IS2017 Kapitel15- DataMining 8 MöglicheItemset § WassindmöglicheItemset? § HieralleItemsets,fürdieItems {a,b,c,d,e} inderDarstellung alsVerband(Lattice). a / b c d e ab ac ad ae bc bd be cd ce de abc abd abe acd ace ade bcd bce bde cde abcd abce abde acde bcde abcde IS2017 Kapitel15- DataMining 9 EinnaiverAlgorithms § BetrachtejedesmöglicheItemset undtesteobeshäufigist. § WieberechnetmandenSupport? ZählefürjedesItemset inwelchenTransaktionenesenthaltenist § BerechnendesSupportdauertππ(|πΌπΌ|×|π·π·|)undesgibt2|O| mögliche Itemsets,alsoimWorstcase:ππ(|πΌπΌ|× π·π· ×2|O| ) IS2017 Kapitel15- DataMining 10 DasApriori-Prinzip § FallseinItemset häufigist,sosind alleTeilmengenebenfallshäufig. § Beispiel:Ist{c,d,e} häufig,so sindauch{c},{d},{e}, a b {c,d},{c,e} und{d,e} häufig. / c d e ab ac ad ae bc bd be cd ce de abc abd abe acd ace ade bcd bce bde cde abcd abce abde acde bcde abcde IS2017 Kapitel15- DataMining 11 DasApriori-Prinzip § Umgekehrt:falls{a,b}nichthäufigist(Englisch:infrequent),sosindauch alleSupermengenvon{a,b} / nichthäufig. a b c d e ab ac ad ae bc bd be cd ce de abc abd abe acd ace ade bcd bce bde cde abcd abce abde acde bcde abcde IS2017 Kapitel15- DataMining 12 Anti-Monotonie § SeiπΌπΌ eineMengevonItemsundseiπ½π½ = 2πΌπΌ diePotenzmengevonπΌπΌ.Ein Maßππ istmonoton (oderaufwärtsgeschlossen)falls ∀ππ, ππ ∈ π½π½ βΆ ππ ⊆ ππ ⇒ ππ ππ ≤ ππ ππ § ImGegensatz,ππ istanti-monoton (oderabwärtsgeschlossen)falls ∀ππ, ππ ∈ π½π½ βΆ ππ ⊆ ππ ⇒ ππ ππ ≤ ππ ππ IstSupportmonotonoderanti-monoton? § Supportistanti-monoton: FürItemsets ππ undππmitππ ⊆ ππ giltπ π π π π π π π ππ ≥ π π π π π π π π ππ .D.h.wenn ππnichthäufigist(infrequent),dannsindauchalleObermengenvonX nichthäufig. IS2017 Kapitel15- DataMining 13 Beispiel MinimumSupportSchwellwert=3 RotmarkierteItemsets sindunterSchwellwertundwerdeneliminiert. Kandidaten 1-Itemsets IS2017 Item Count Bier 3 Brot 4 Itemset Count Cola 2 {Bier,Brot} 2 Windeln 4 {Bier, Windeln} 3 Eier 2 {Bier, Milch} 2 Milch 4 {Brot,Windeln} 3 {Brot,Milch} 3 {Windeln,Milch} 4 Kandidaten 2-Itemsets Kapitel15- DataMining Kandidaten 3-Itemsets Itemset Count {Brot,Windeln, Milch} 3 14 DerApriori-Algorithms DerApriori-AlgorithmusbenutztdieAnti-MonotoniedesSupport-Maßes, umdieMengeanzubetrachtendenItemsets einzuschränken. • ApriorigeneriertniemalseinKandidaten-Itemset,dasnicht-häufige Teilmengenbesitzt. IS2017 Kapitel15- DataMining 15 DerApriori-Algorithmus:Pseudocode /*Notation:mitππ bezeichnenwirdenSupporteinesItemsets */ 1. ππ = 1 2. πΉπΉZ = {ππ|ππ ∈ πΌπΌ ∧ ππ({ππ}) ≥ ππππππππππππππ} /*Häufige1-Itemsets*/ 3. repeat 4. ππ = ππ + 1 /*generiereKandidaten*/ 5. πΆπΆZ = apriori-gen(πΉπΉZhi ) 6. for each transaction π‘π‘ ∈ ππdo 7. πΆπΆk = π π π π π π π π π π π π (πΆπΆZ , π‘π‘) /*BetrachteKandidatendieinTA*/ 8. for each candidate itemset ππ ∈ πΆπΆk do 9. ππ(ππ) = ππ(ππ) + 1 /*ErhöheSupport-Zähler*/ 10. endfor 11. endfor /*FindehäufigeItemsets*/ 12. πΉπΉZ = {ππ|ππ ∈ πΆπΆZ ∧ ππ(ππ) ≥ ππππππππππππππ} 13. until πΉπΉZ = ∅ 14. Result =βnn πΉπΉZ IS2017 Kapitel15- DataMining 16 DerApriori-Algorithmus:Pseudocode(2) § πΆπΆZ istdieMengederππ-Itemsets § πΉπΉZ istdieMengederhäufigenππ-Itemsets ZuerstwirdeinMalüberdieDatengelaufen,umdenSupportjedes einzelnenItemszufinden(Schritt2).DannkennenwiralsoπΉπΉi . DanachwerdeniterativneueKandidaten-ππ-Itemset berechnet,basierend aufdenhäufigen(ππ − 1)-Itemsets (Schritt5).DieMethodedafürnennt manππππππππππππππ − ππππππ(....) NunwirdfürjedesKandidaten-Itemset derSupportberechnet,indemein MalüberdieDaten(Transaktionen)gelaufenwird(Schritt6-10). Anschließendwerdennicht-häufigeItemsets entfernt(Schritt12). DerAlgorithmusterminiertsobaldπΉπΉZ = ∅ (Schritt13). IS2017 Kapitel15- DataMining 17 GenerierungundEliminierungvonKandidaten 1. GenerierungvonKandidaten • Generiertππ-Itemsets (d.h.Itemsets derLängeππ)basierendaufden Itemsets dervorherigenIteration(en). 2. EliminierungvonKandidaten • FindeundeliminiereunnützeKandidaten- ππ-Itemsets. IS2017 Kapitel15- DataMining 18 GenerierungvonKandidaten:Ziele Ziele: § Vollständigkeit:Esmüssenallehäufigenk-Itemsets erzeugtwerden. § Effizienz:Essolltevermiedenwerden,unnützeItemsets zuerzeugen,d.h. solchedieeinnicht-häufigesItemset enthalten. § EbensosolltenItemsets nichtmehrfachgeneriertwerden. ErfüllendienachfolgendenAnsätzedieseZiele? IS2017 Kapitel15- DataMining 19 GenerierungvonKandidaten:Brute-ForceAnsatz § Schritt1:GenerierealleKandidaten.Diessind verschiedeneItems. r Z vielefürππ § Schritt2:Dannentfernedienicht-häufigenItemsets. VerbesserteVariante:BetrachtenurdieItemsausπΉπΉi IS2017 Kapitel15- DataMining 20 GenerierungvonKandidaten:„πΉπΉZhi ×πΉπΉi “ § Verknüpfediehäufigen(ππ − 1)-Itemsets mithäufigenItems. § DannentfernedienichthäufigenresultierendenItemsets. § Verbesserung:ErlaubenurErgänzungdurch1-Itemset,wenndies lexikographischgrößeralsItemsdes(k-1)-Itemsets ist. Itemset Kandidaten 2-Itemsets {Bier, Windeln} {Brot,Windeln} {Brot,Milch} {Windeln,Milch} Eliminierung nicht-häufiger Kandidaten Itemset {Brot,Windeln,Milch} {Brot,Milch,Bier} {Brot} IS2017 {Bier,Windeln,Brot} {Brot,Windeln,Milch} {Bier} {Milch} Itemset {Bier,Windeln,Milch} Itemset {Windeln} Generierung von Kandidaten Häufige 1-Itemsets Kapitel15- DataMining 21 GenerierungvonKandidaten:„πΉπΉZhi ×πΉπΉZhi “ § Verknüpfediehäufigen(ππ − 1)-Itemsets fallsdieseindenersten(k-2) Itemsübereinstimmen. § BetrachtelexikographischeSortierungderItemsets. § D.h.,π΄π΄ = ππi , ππv , … ππZhi undπ΅π΅ = ππi , ππv , … ππZhi könnenkombiniert werden,fallsππx = ππx (fürππ = 1, 2, … , ππ − 2) undππZhi ≠ ππZhi Itemset Häufige 2-Itemsets {Bier, Windeln} {Brot,Windeln} {Brot,Milch} {Windeln,Milch} Generierung von Kandidaten Itemset {Bier, Windeln} Eliminierung nicht-häufiger Kandidaten Itemset Itemset {Brot,Windeln,Milch} {Brot,Windeln,Milch} {Brot,Windeln} {Brot,Milch} {Windeln,Milch} IS2017 Häufige 2-Itemsets Kapitel15- DataMining 22 Assoziationsregeln(Association Rules) § BasierendaufdenhäufigenItemsets könnenwirnun Assoziationsregeln generieren. § Fallsππ einhäufigesItemset istundππ ⊂ ππisteineechteTeilmenge vonππ, dannhabenwireineRegelππ → ππ,mitππ = ππ\ππ. § DieseRegelnsindhäufigda π π π π π π π π (ππ → ππ) = π π π π π π π π (ππ ∪ ππ) = π π π π π π π π (ππ) IS2017 Kapitel15- DataMining 23 Assoziationsregeln:Konfidenz § FüreineRegelππ → ππ betrachtenwirdieKonfidenz,diewiefolgtdefiniert ist π π π π π π π π ππ ∪ ππ ππππππππ ππ → ππ = π π π π π π π π ππ § EineRegelππ → ππ mitππππππππ(ππ → ππ) ≥ ππππππππππππππwirdalsconfident bezeichnet. § IsteineRegelππ → ππ β ππnichtconfident,sokannkeineRegel ππ → ππ β ππmitππ ⊆ ππ confident sein. IS2017 Kapitel15- DataMining 24 Assoziationsregeln:Berechnung Input:MengeFvonhäufigenItemsets,minconf Schwellwert. 1. foreach ππ ∈ πΉπΉmit|ππ| ≥ 2 do 2. π΄π΄ = ππ ππ ⊂ ππ, ππ ≠ ∅} 3. while π΄π΄ ≠ ∅do 4. ππ = größtesItemset ausπ΄π΄ 5. π΄π΄ = π΄π΄ β ππ 6. ππ = supp(ππ)/supp(ππ) /*BerechnungKonfidenz*/ 7. if ππ ≥ ππππππππππππππthen 8. print ππ → ππ,supp(ππ),ππ /*Ausgabe,wobeiππ = ππ β ππ*/ 9. else 10. π΄π΄ = π΄π΄ β {ππ|ππ ⊂ ππ} 11. end 12. end 13. end IS2017 Kapitel15- DataMining 25 Beispiel:Daten § WirhabenfolgendeTransaktionen 1. {Brot,Milch}, 2. {Brot,Windeln,Bier,Eier}, 3. {Milch,Windeln,Bier}, 4. {Brot,Milch,Windeln,Bier} 5. {Brot,Milch,Windeln} § Mitminfreq=0.05habenwirdiefolgendenhäufigenItemsets: {Brot},{Milch},{Windeln},{Bier},{Brot,Milch},{Brot,Windeln}, {Brot,Bier},{Milch,Windeln},{Milch,Bier},{Windeln,Bier}, {Brot,Milch,Windeln},{Brot,Windeln,Bier},{Milch,Windeln,Bier} § Notation:AufderfolgendenFolieistπ΄π΄(x) dieMengeπ΄π΄ inIterationππ IS2017 Kapitel15- DataMining 26 Beispiel minfreq =0.05,minconf =0.5undfürZ={Milch,Windeln,Bier} π΄π΄(~) = {{Milch},{Windeln},{Bier},{Milch,Windeln},{Milch,Bier},{Windeln,Bier}} ππ = {Windeln,Bier} Ausgabe:{Windeln,Bier}→ {Milch} 2 0.667 π΄π΄(i) = {{Milch},{Windeln},{Bier},{Milch,Windeln},{Milch,Bier}} ππ = {Milch,Bier} Ausgabe:{Milch,Bier}→ {Windeln} 2 1.0 π΄π΄(v) = {{Milch},{Windeln},{Bier},{Milch,Windeln}} ππ ={Milch,Windeln} Ausgabe:{Milch,Windeln}→ {Bier} 2 0.667 π΄π΄() = {{Milch},{Windeln},{Bier}} ππ ={Milch} Ausgabe:{Milch}→ {Windeln,Bier} 2 0.5 π΄π΄(Ä) = {{Windeln},{Bier}} ππ ={Windeln} Ausgabe:{Windeln}→ {Milch,Bier} 2 0.5 π΄π΄(Å) = {{Bier}} ππ = {Bier} Ausgabe:{Bier}→ {Milch,Windeln} 2 0.667 IS2017 Kapitel15- DataMining 27 ZusammenfassungItemsetmining § WarenkorbanalyseistklassischesBeispielfürData-Mining § DabeiwerdenTransaktionen bestehendausItemsaufhäufigzusammen auftretendeItems sowienachAssoziationsregeln derForm„WerBrot kaufkauftauchBier“durchsucht. § Apriori-AlgorithmusgeneriertItemsets bottom-up basierendauf häufigenItemsets kleinererLänge. § Diesfunktioniertaufgrundder„Anti-Monotonie“desSupports. § AssoziationsregelnwerdenbasierendaufhäufigenItemsets berechnet. IS2017 Kapitel15- DataMining 28 Clustering GegebeneineMengevonObjekten.Ziel:FindeneinesgutenClusterings (Gruppierung)derObjekteanhandihrerEigenschaften.Hier,anhandihrer 3DKoordinaten. Abbildung nach Tan, Steinbach, Kumar IS2017 Kapitel15- DataMining 29 DasClustering-Problem(2) § GegebeneineMengeππ vonObjektenundeineDistanzfunktion ππ: ππ×ππ → βÖ § GruppiereObjekteausππ inCluster(Teilmengen),sodassdieDistanz zwischendenPunkteneinesClusterskleinistunddieDistanzzwischen deneinzelnenClusterngroßist. Inter-cluster Distanzen maximiert Intra-cluster Distanzen minimiert Abbildung nach Tan, Steinbach, Kumar IS2017 Kapitel15- DataMining 30 PartitionenundPrototypen WirbetrachtenhierexklusivesClustering,d.h.einObjektistgenaueinem Clusterzugeordnet: § DieMengeππ istpartitioniertinππ ClusterπΆπΆi , πΆπΆv , … , πΆπΆZ mit n Ü πΆπΆx = ππundπΆπΆx ∩ πΆπΆâ = ∅fürππ ≠ ππ x § JedesClusterπΆπΆx wirdvoneinemsogenanntenPrototypen ππx repräsentiert(aka.Schwerpunkt/Centroid oderMitte/Durchschnitt) • DieserPrototypππx mussnichtnotwendigerweiseeinesderObjekte aus πΆπΆx sein § DieQualitätdesClusterings wirddanninderRegelberechnetalsder quadratischeFehlerzwischendenObjekteneinesClustersunddem PrototypeneinesClusters(hierfürππ-dimensionaleDaten): Z IS2017 n é é π₯π₯â − ππx xîi êë ∈íì v v Z n r = é é é π₯π₯âï − ππxï xîi êë ∈íì ïîi Kapitel15- DataMining v 31 Clusteringnicht(immer)eindeutig Wie viele Cluster? Sechs Cluster Zwei Clusters Vier Cluster Abbildung nach Tan, Steinbach, Kumar IS2017 Kapitel15- DataMining 32 EinNaiver(Brute-Force)Ansatz 1. GeneriereallemöglichenClusterings,einsnachdemanderen 2. BerechnedenquadratischenFehler 3. WähledasClustermitdemkleinstenFehleraus DieserAnsatzistleiderunbrauchbar:Esgibtvielzuvielemögliche Clusterings,dieausprobiertwerdenmüssen. § Esgibtππππ Möglichkeitenππ Clusterzuerzeugenbeiππ Objekten.Davon könneneinigeClusterleersein.Alsofür50Objekteund3Clustergibtes 350 = 717897987691852588770249Möglichkeiten. § DieAnzahlderMöglichkeitendieseππ Punkteinππ nichtleereCluster aufzuteilenistdieStirling-ZahlderzweitenArt. ππ(50, 3) = 119649664052358811373730. NurzurInfo,hierdieDefinitionderStirling-ZahlderzweitenArt: Z IS2017 ππ ππ 1 â ππ ππ, ππ = = é(−1) (ππ − ππ)ù ππ ππ ππ! âî~ Kapitel15- DataMining 33 K-Means Clustering § JedesClusterwirddurcheinenMittelpunkt(Centroid)repräsentiert § EinObjektwirddemCentroid mitdergeringstenDistanzzugewiesen § Esgibtππ Cluster.ππ isteinParameter. Algorithmus: 1. Wählezufälligππ ObjektealsinitialeCentroids aus. 2. repeat 3. OrdneObjektedemjeweilsnächstgelegenenCentroid zu 4. BerechnefürjedesClusterdenneuenCentroid. 5. until dieCentroide ändernsichnichtmehr IS2017 Kapitel15- DataMining 34 K-Means:Beispiel Wählezufälligππ = 4Centroide ausundordneObjektezu IS2017 Kapitel15- DataMining 35 K-Means:Beispiel BerechneCentroid jedesClustersneu IS2017 Kapitel15- DataMining 36 K-Means:Beispiel OrdneObjekteneuzu IS2017 Kapitel15- DataMining 37 K-Means:Beispiel BerechneCentroid jedesClustersneu IS2017 Kapitel15- DataMining 38 K-Means:Beispiel OrdneObjekteneuzu IS2017 Kapitel15- DataMining 39 K-Means:Beispiel BerechneCentroid jedesClustersneu IS2017 Kapitel15- DataMining 40 K-Means:Beispiel OrdneObjekteneuzu IS2017 Kapitel15- DataMining 41 K-Means:Beispiel BerechneCentroid jedesClustersneu IS2017 Kapitel15- DataMining 42 K-Means:Beispiel OrdneObjekteneuzu IS2017 Kapitel15- DataMining 43 K-Means:Beispiel BerechneCentroid jedesClustersneu IS2017 Kapitel15- DataMining 44 K-Means:Beispiel OrdneObjekteneuzu IS2017 Kapitel15- DataMining 45 K-Means:Beispiel BerechneCentroid jedesClustersneu:Hatsich nichts geändert! IS2017 Kapitel15- DataMining 46 K-Means-Clustering § DieinitialenCentroids werdennormalerweisezufälligausgewählt. DadurchkönnenverschiedeneDurchläufeaufdengleichenDaten unterschiedlicheClustererzeugen. § AlsCentroid benutztmantypischerweisedenMittelwert(Mean)der ObjekteeinesClusters. § AlsDistanzmaßwirdz.B.dieEuklidischeDistanzbenutzt. § DerK-Means-Algorithmuskonvergiert § IndenerstenIterationensinddieÄnderungendesClusterings am deutlichsten § Abbruchkriteriumauch:„BisnurnochsehrwenigeObjektedasCluster wechseln“ § Komplexitätistππ(ππ×ππ×πΌπΌ×ππ). ππ =AnzahlObjekte,ππ=AnzahlCluster, πΌπΌ=AnzahlIterationen,ππ =Dimensionalität derDaten. IS2017 Kapitel15- DataMining 47