Johan Boye, CSC, KTH DD1371 Beslutstödssystem, VT2013 Associationsanalys och klustring 57. (Från tentamen augusti 2010) Byggvaruhuset Bygger vill ha mer information om sina kunders köpbeteenden och vill därför att du utför associationsanalys på nedanstående lista med inköp. Hitta alla associationsregler med support 0.4 och konfidens 0.7. (3p) Kvitto Inhandlade varor nr 1 hyvel, sandpapper, skruv, rundfil, hammare, syl, vinkelhake 2 vedklyv, skruv, skruvmejsel, skiftnyckel 3 tapeter, tapetlim, rakblad, roller, skiftnyckel 4 borrmaskin, gångjärn, skruvmejsel, skruv, hammare, spik 5 hammare, tumstock, vinkelhake, hovtång, skruv, skiftnyckel, grillkol, tändvätska 6 sandpapper, målarfärg, pensel, lacknafta, stege, overall, skiftnyckel, skruvmejsel 7 hammare, skruvmejsel, skruv, spik 8 slipmaskin, sandpapper, skyddsglasögon, skyddshandskar 9 utegrill, grillkol, tändvätska, skruvmejsel 10 skiftnyckel, muttrar, skruv, spik 58. (Från tentamen maj 2012) Antag att vi vill göra associationsanalys på en datamängd med transaktioner. a. Om det är möjligt att hitta två regler A B och B A som har samma support, men där A B har dubbelt så hög konfidens som B A, konstruera ett exempel som visar detta. Om det inte är möjligt, förklara varför. (2p) b. Om det är möjligt att hitta två regler A B och B A som har samma konfidens, men där A B har dubbelt så hög support som B A, konstruera ett exempel som visar detta. Om det inte är möjligt, förklara varför. (2p)
59. Utför hierarkisk klustring på följande datamängd, först med strategin närmaste närmaste punkt, och sedan med strategin närmaste mest avlägsen punkt. Rita de resulterande dendrogrammen och förklara skillnaderna. 60. Antag att man vill använda k-means-algoritmen för att dela in nedanstående datamängd i tre kluster. Punkt nr x y 1 0.2 0.2 2 0.6 2.5 3 0.8 0.8 4 1 2.8 5 2.6 2.8 6 1.3 2.9 7 1.5 1.5 8 2.6 0.8 9 2.8 0.1 10 2 2 a. Vi slumpar fram de tre startpunkterna 2, 3 och 6. Hur ser de initiala klustren ut? b. Beräkna centroiderna av dessa kluster. c. Kör en iteration av k-means-algoritmen. Hur ser klustren ut nu, och vad har de för centroider? d. Hur ser klustren ut efter två iterationer?
61. (Från tentamen augusti 2011) Tabellen nedan visar hur tio unga datoranvändare spenderar sin datortid. De olika kolumnerna visar hur stor proportion av tiden som spenderas på Facebook, Youtube, respektive skolarbete. (Alla rader summerar inte till 1 eftersom vissa användare även gör andra saker på datorn). Andel av total datortid Användare # Facebook Youtube Skola 1 0.64 0.26 0.1 2 0.3 0.7 0 3 0.22 0.5 0.1 4 0 0.5 0.5 5 0.2 0.42 0.26 6 0 0 0.9 7 0 0.2 0.2 8 0.8 0 0.15 9 0.73 0.1 0.15 10 0.6 0.2 0.2 Gruppera de tio användarna ovan i 3 olika kluster med hjälp av k-means-algoritmen. Låt användarna 1, 2 och 6 utgöra centroider i den första iterationen. (6p) 62. I en välseparerad klustring gäller att varje datapunkt P är närmare till varje punkt i samma kluster än till alla punkter utanför klustret. Betrakta punktmängden nedan. För vilka heltal k kan man göra en välseparerad klustring med k kluster, om varje kluster ska innehålla minst två punkter?
Svar 57. {hammare} {skruv} 58. a) Enklaste exemplet: cola, chips cola Här har {cola} {chips} och {chips} {cola} bägge support 0.5 eftersom {cola, chips} förekommer i hälften av transaktionerna. Regeln {chips} {cola} har konfidens 1, eftersom alla transaktioner som innehåller chips även innehåller cola. Regeln {cola} {chips} har konfidens 0.5 eftersom hälften av alla transaktioner som innehåller cola också innehåller chips. b) Detta är inte möjligt eftersom supp(a B)=supp(AUB)=supp(BUA)=supp(B A). 59. I första iterationen är centroiderna punkt nummer 1,2 och 6: Centroid # Facebook Youtube Skola 1 0.64 0.26 0.1 2 0.3 0.7 0 3 0 0 0.9 Vi räknar ut avstånden mellan varje centroid och varje punkt med hjälp av avståndsformeln. Punkt # Centroid 1 Centroid 2 Centroid 3 1 0 0.564978 1.056977 2 0.564978 0 1.178983 3 0.483735 0.237487 0.96871 4 0.79196 0.616441 0.640312 5 0.494773 0.394968 0.791202 6 1.056977 1.178983 0 7 0.650538 0.616441 0.728011 8 0.309354 0.873212 1.096586 9 0.190263 0.75326 1.05138 10 0.123288 0.616441 0.943398 Vi ser att punkterna 1, 8, 9, och 10 är närmast centroid 1, och att punkterna 2, 3, 4, 5 och 7 är närmast centroid 2. Endast punkt 6 är närmast centroid 3. Vi tar medelvärden för att beräkna centroiderna i nästa iteration:
Centroid # Facebook Youtube Skola 1 0.6925 0.14 0.15 2 0.144 0.464 0.212 3 0 0 0.9 Vi beräknar avstånden från varje punkt till de nya centroiderna: Punkt # Centroid 1 Centroid 2 Centroid 3 1 0.140201 0.547883 1.056977 2 0.700112 0.353519 1.178983 3 0.596118 0.140057 0.96871 4 0.855369 0.324 0.640312 5 0.57711 0.085884 0.791202 6 1.030367 0.842245 0 7 0.69689 0.300958 0.728011 8 0.176511 0.805901 1.096586 9 0.054829 0.69263 1.05138 10 0.121063 0.527045 0.943398 Vi ser att återigen är punkterna 1, 8, 9 och 10 närmast centroid 1, punkterna 2, 3, 4, 5 och 7 närmast centroid 2, och punkt 6 närmast centroid 3. Centroiderna är därför oförändrade, och algoritmen terminerar. Klustrena är alltså {1,8,9,10}, {2,3,4,5,7} samt {6}. 60. Närmaste närmaste punkt: Närmaste mest avlägsen punkt: A B C D E F G H A B C D E F G H 61. a) { 2 }, { 1, 3, 7, 8, 9 } resp. { 4, 5, 6, 10 } b) (0.6, 2.5), (1.58, 0.68) resp. (1.725, 2.625) c) { 2, 4 } med centroid (0.8, 2.65), { 1, 3, 7, 8, 9 } med centroid (1.58, 0.68) resp. { 5, 6, 10 } med centroid (1.96667, 2.56667 ) d) { 2, 4, 6 }, { 1, 3, 7, 8, 9 } resp. { 5, 10 } 62. 1, 2, 4, 5, 7