Data mining Van boodschappenmandjes tot bio-informatica



Vergelijkbare documenten
Hoofdstuk 18,19.1,21.1/3,17.1/2 Russell/Norvig = [RN] Leren

2. Geef een voorbeeld van hoe datamining gebruikt kan worden om frauduleuze geldtransacties te identificeren.

Tentamen Data Mining

Oplossingen Datamining 2II15 Juni 2008

Tentamen Data Mining. Algemene Opmerkingen. Opgave L. Korte vragen (L6 punten) Tijd: 14:00-17:00. Datum: 4januai20l6

Cover Page. The handle holds various files of this Leiden University dissertation.

Tentamen in2205 Kennissystemen

Hoe je klanten beter leert kennen

Praktijkinstructie Dataverwerking 1 (CSE02.1/CREBO:50236)

Uitwerking Tentamen Datamining (2II15) 26/06/09

Data Mining: Inleiding

Tentamen Kunstmatige Intelligentie (INFOB2KI)

twee partijen zijn. Aangezien het bij data mining gaat om grote hoeveelheden data is het belangrijk om praktische oplossingen te hebben.

DATA MINING (TI2730-C)

Casus: Alcoholverkoop aan jongeren Lesbrief en vragen

BIG DATA. 4 vragen over Big Data

Data Mining: Classificatie

Wat eten we vanavond?

Begrippenlijst Inzicht in de wereld van big data, marketing en analyse

Het stappenplan om snel en goed iets nieuws in te studeren

Kunstmatige Intelligentie (AI) Hoofdstuk 18.7 van Russell/Norvig = [RN] Neurale Netwerken (NN s) voorjaar 2016 College 9, 19 april 2016

Les 4. Eten en drinken, boodschappen doen

Het verkoop-adviesgesprek. Waar gaat deze kaart over? Wat wordt er van je verwacht? Verkopen

Adverteren op one2xs

Analyse van een Customer Journey bij een Interimkantoor

W H I T E P A P E R I N 5 M I N U T E N J U N I De app in een goede mobiele strategie

10 DIRECT TOEPASBARE TIPS VOOR MEER KLANTEN

10 DIRECT TOEPASBARE TIPS VOOR MEER KLANTEN

Inleiding Adaptieve Systemen Hoofdstuk 5: Ongesuperviseerd Leren

Inleiding CUSTOMER TOUCH MODEL. Is het mogelijk klanten zo goed te kennen dat je kunt voorspellen wat ze gaan kopen voordat ze dat zelf weten?

EndNote Web handleiding

Welk PIM systeem en waarom dan?

De kracht van data. Onderwerpen. Even voorstellen Data verzamelen Data bewerken Data gebruiken Een casus: IFFR Aan de slag.. Vragen en antwoorden

CS-WebDesign.nl. Invoeren van een product in de editor

Datamining: Graven in gegevens

DE 4 PIJLERS VAN EEN GOEDE WEBSITE

Opgaven Kunstmatige intelligentie 4 mei 2012

Toekomstbestending maken van selectie tool Rekening houdend met strikte privacy wetgeving

C. Social Media Beleid in enkele stappen

Gestructureerd registreren

Data Mining. Arno Siebes

6. Op tafel liggen 10 verschillende boeken. Op hoeveel verschillende manieren kunnen 3 jongens daar ieder 1 boek uit kiezen?

Spreekbeurt, en werkstuk

Spreekopdrachten thema 2 Boodschappen

Examen VWO. Wiskunde A (oude stijl)

Assertiviteit. BOL 1 e jaars AG studenten

Hét full service internet bureau van Nederland

Via methodewebsite www w.emma.eisma.nl of de ELO van de school

Waarom ga je schrijven? Om de directeur te overtuigen

HANDLEIDING FRIREC. Versie 1.2.2

Techniekkaart: Het houden van een interview

Creatie, toepassing en evaluatie: door marketeers en klantcontactmedewerkers. We focussen hier op Vraag, Analyse en Data terugkoppelen.

10 basis tips voor een goed LinkedIn profiel

Rekenen: Getallen groep 5 en hoger. Rekenen en schattingen ontdekken. Algebra groep 5 en hoger. Patronen en relaties ontdekken.

Examen Datastructuren en Algoritmen II

In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel van rekenregel 4:

Miniles gegevensbanken bevragen met SQL

[Rapport: Visitekaartjes gefilterd (1) Hannie Mommers. Mommersontwerp

5. Geavanceerde formules

DNAQL Simulator. Presentatie Bachelorproef. Tom Desair. Universiteit Hasselt. Academiejaar

Online declareren. Stap 1: Inloggen. Stap 2: Mijn ik!

Subrapporten. 5.1 Inleiding

OP KAMERS Opdrachtenblad Categorie:

Notificaties. Versie 2.0

Tweede college algoritmiek. 12 februari Grafen en bomen

Inleiding Adaptieve Systemen Hoofdstuk 5: Ongesuperviseerd Leren

Opening van het thema op vrijdag 5 november.

Uitwerkingen eerste serie inleveropgaven

Informatiebrief. In deze informatiebrief de volgende onderwerpen:

Dit stappenplan is ingevuld door:

Examen Datastructuren en Algoritmen II

VERLENGEN KOPEN RUILEN BETALEN

Artikelbeheer Beheer uw artikelbestand effectief

Informatica kiezen. Informatica: iets met computers? Informatie over het vak informatica in de Tweede Fase van havo en vwo

Zevende college complexiteit. 7 maart Mergesort, Ondergrens sorteren (Quicksort)

Oriëntatie Kunstmatige Intelligentie. Inleidend College Niels Taatgen

10 basis tips voor een goed LinkedIn profiel

1. Database met datum/posities van bliksemontladingen van het KNMI.

marketing whitepaper

Workshop voorbereiden Authentieke instructiemodel

De kracht van social media voor bedrijven! Een ebook vol handige tips die je moet weten voor je aan social media begint

Stap voor stap: Op weg naar een unieke customer journey. Vertrouwd digitaal ondernemen

Les 3: Het maken van pagina s, het menu en het schrijven van een blogpost Pagina s

Computerspellen in soorten en maten

Data Mining: Data kwaliteit, Preprocessing

Cursus Analyse voor Web Applicaties 1. Webdesign / Web Programmeren Analyse voor web applicaties SDM methode + Basis UML

What s up Zuiderzeeland? maatschappijleer/geschiedenis praktische opdracht

Transcriptie:

Data mining Van boodschappenmandjes tot bio-informatica Walter Kosters Informatica, Universiteit Leiden donderdag 6 april 2006 http://www.liacs.nl/home/kosters/ 1

Wat is Data mining? Data mining probeert interessante en (on)verwachte patronen te vinden in grote hoeveelheden (on)geordende data. Bijvoorbeeld: Boodschappenmandjes: wat en hoe kopen we? Bio-informatica: DNA? Problemen (selectie): resultaten: zowel verwacht als onverwacht bewegende doelen: steeds andere eisen data vergaren: wat/hoeveel kan/mag/is er? afstandsbegrip: wie lijkt op wat? 2

KDD Het Data mining proces of beter het KDD proces, voor Knowledge Discovery in Databases wordt vaak als volgt opgedeeld: 1. data selectie 2. opschonen: de-duplicatie en domein-consistentie 3. verrijking: data-fusie 4. coderen 5. Data mining het echte gebeuren 6. rapporteren 3

Technieken Er zijn veel Data mining technieken, of beter gezegd: algoritmen, die we kunnen gebruiken om data te minen : (niet vergeten:) statistische methoden allerlei machine learning technieken uit de AI: evolutionaire algoritmen, neurale netwerken, Bayesiaanse netwerken,... allerlei technieken voor clustering en classificatie: beslissingsbomen,... associatieregels ad-hoc methoden 4

Beslissingsbomen Als voorbeeld iets over beslissingsbomen (= decision trees). Meestal wordt Quinlan s algoritme J48 gebruikt om uit een aantal voorbeelden zo n boom te maken. Het berust op Shannon s informatietheorie. Interne knopen vragen naar een attribuutwaarde, bladeren geven de classificatie. Patrons? None Some Full F T WaitEstimate? >60 30 60 10 30 0 10 F Alternate? Hungry? T No Yes No Yes Reservation? Fri/Sat? T Alternate? No Yes No Yes No Yes Bar? T F T T Raining? No Yes No Yes F T F T 5

Beslissingsbomen algoritme Het recursieve algoritme werkt als volgt. Stel we zitten in een knoop, en hebben de verzameling V van alle voorbeelden die in die knoop terecht komen. Dan: 1. Geen voorbeelden meer (V = )? Geef defaultwaarde, bijvoorbeeld majority-value van ouderknoop. 2. Alle voorbeelden dezelfde classificatie? Geef die. 3. Geen attributen meer? Majority-value van V. 4. Bepaal beste attribuut (entropie), splits daarop, en ga recursief verder met de kinderen: ν i=1 p i + n i p + n { p i p i + n i log 2 p i p i + n i n i p i + n i log 2 n i p i + n i } 6

Thema s Ter inspiratie bekijken we nu drie thema s: associatieregels boodschappenmandjes bio-informatica 7

Associatieregels 8

Klanten en producten We zijn geinteresseerd in verbanden tussen verzamelingen items : producten, of moleculen, of woorden, of bezoeken aan websites. Regels zijn: als je boter koopt, koop je meestal ook brood. Stel we hebben een database met records = transacties = klanten, waarbij ieder record uit een aantal items = producten bestaat. De support van een stel artikelen is het aantal klanten dat al die artikelen koopt, meestal als percentage van het totaal. Een stel artikelen met hoge support (boven een zekere drempel) heet frequent. Bijvoorbeeld: 20% van de klanten in een supermarkt kopen brood, boter en kaas en wellicht meer producten. 9

Betrouwbaarheid Stel dat van de α klanten die A kopen, er β ook B kopen. We zeggen dan dat de associatieregel A B een betrouwbaarheid heeft van β/α. Bijvoorbeeld: het zou kunnen zijn dat 80% van de klanten die boter en kaas kopen, ook brood aanschaffen. We zijn benieuwd naar regels A B met zowel hoge betrouwbaarheid als hoge support, dat wil zeggen hoge support voor A en B samen (20% in ons voorbeeld). 10

Aspecten Er is veel nagedacht over associatieregels: geef efficiënte algoritmen om ze te vinden hoe vind je vervolgens de interessante? en hoe ga je om met niet 0/1-en? Voor dat laatste gebruikt men fuzzy logica, met in plaats van alleen 0/1 (niet-kopen vs. kopen) ook tussenliggende waarden. Voorbeeld: iemands leeftijd kan 0,3 jong zijn. 11

Voorbeeld product = item 1 2 3 4 5 6 7 8 9 klant = transactie 1 1 1 0 0 1 1 1 1 0 2 1 0 1 0 0 0 0 1 1 3 0 1 1 0 1 0 1 0 0 4 1 0 1 0 1 1 0 1 1 5 0 0 0 0 1 0 0 0 0 6 0 1 0 0 1 0 1 0 0 Zelfs voor deze kleine database is het moeilijk om te zien dat {2, 5, 7} het enige drietal is dat gekocht wordt door minstens 50% (een vaste drempelwaarde) van de klanten. Frequente itemsets leveren associatieregels: {2, 7} {5}. 12

Apriori De meeste snelle implementaties zijn gebaseerd op: een deel van een iets frequents is zelf ook frequent! Dit heet de Apriori-eigenschap, omdat het wordt gebruikt in Apriori, een van de meest bekende Data mining algoritmen. Kleine frequente verzamelingen worden samengevoegd tot grotere. De databases worden opgeslagen in FP-bomen. 13

Boodschappenmandjes 14

Boodschappenmandjes Winkels analyseren klantgedrag: boodschappenmandjes. Toepassingen zijn bijvoorbeeld: direct marketing Welke klant doen we een speciale aanbieding? Wat verkopen we? Welke producten zetten we in een kleine winkel, zeg op een station? clustering en classificatie Kunnen we klanten groeperen of herkennen aan hun koopgedrag? (Ja!) Een wat algemener doel is het begrijpen van klanten. 15

Winkels clusteren Een grote winkelketen wilde inzicht in hun positionering, gebaseerd op weekverkopen. Hema: filialen Dit weektotalen resulteert in plaatjes als: Walter A. Kosters, Universiteit Leiden Informatica 18 maart 2002 576 36 826 1186 1056 6661036 186 336 216 26 136 476 586 1126 616 156 596 636 706 1206 226 11061116 306 656 56 326 116 746 236 1026 196 686 1166 376 1096 546 556 146 96 806 1216 66 356 76 106 16 266 396 1136 46 566 1176 646 776 716 1016 796 736 176 86 246 1086 206 626 1066 1146 126766 406 526 1196 696 466 1076 1156 676 286 456 346 166 256 316 516 276 486 756 1046 446 606 366786 426 496 386 536 506 726 416 Hier zien we 100 winkels. Fout: 652.583 Aantal produkten afgebeeld: 100 uit 100. Randomseed: 7. Ondergrens: 10. Aantal cykels: 1000. Aantrekking: 15. 1 16

Methode Om te clusteren heb je een afstandsbegrip nodig. Stel dat twee winkels de afgelopen week dit verkocht hebben: wijn brood kaas tomaat banaan 7 120 34 0 40 10 100 21 0 0 Hun afstand kan dan zijn: 3 + 20 + 13 + 0 + 40 = 76, of 3 + 20 + 13 = 36, of 3/10 + 20/120 + 13/34, of... Het lijkt redelijk te normaliseren voor de totale verkoop bij een winkel. Hoe dan ook, er zijn veel mogelijkheden! 17

Clustering technieken Clustering technieken kunnen hierarchisch zijn: voeg kleinere clusters samen tot grotere niet-hierarchisch zijn: verbeter bestaande clustering Wij gebruiken AI-technieken als Self Organizing Maps (Kohonen s SOMs), gebaseerd op neurale netwerken. Er zijn random aspecten kansen spelen een rol. 18

Meer resultaten Links zien we duidelijk verschil tussen winkels met en zonder restaurant. Recht gebruiken we postcode, en zien we eetgewoontes terug. 19

Supermarkt In een supermarkt zijn er veel klanten die een grote keuze hebben. Associatieregels kunnen eenvoudig worden toegepast. Onderzoek onthulde dat vloei en tabak vaak samen worden verkocht (wat een verrassing!), maar ook dat speciale shag speciale vloei vereist. Er is veel interesse in hierarchieën: merken algemene categorieën. Het luiers bier verhaal is een sprookje. 20

Groeperen Een laatste toepassing in een supermarkt is het volgende. We willen dranken zodanig groeperen dat producten dicht bij elkaar komen als ze elkaar kunnen vervangen. Deze informatie haal je uit de boodschappenmandjes: zulke producten worden zelden samen verkocht. Technieken als boven leiden tot plaatjes als: appelsap water cola 1 cola 2 21

Bio-informatica 22

Bio-informatica Veel vragen uit de Bio-informatica kunnen als Data mining problemen worden beschouwd. Een enkel voorbeeld. DNA kan gezien worden als een rijtje letters uit het alfabet {A, C, G, T }: AGGT CAAT... T T. Menselijk DNA bevat ongeveer 3.000.000.000 letters het menselijk genoom, verdeeld over zo n 20 + chromosomen. Stel dat we voor zo n 2.000 + speciale stukjes DNA (clones geheten), netjes verspreid over het menselijk genoom, weten hoeveel er aanwezig is in 150 patiënten. Hier is hoeveel een getal tussen 5 ( verlies ) en +5 ( versterking ). Hoe mine je deze berg aan data? 23

Data mining Plots Links: versterkingen (985 frequente duos ); rechts: verliezen (629 frequente duos ). Verticale lijnen zijn de chromosoomgrenzen. Drempelwaarde: 100. 700 1 1000 2 3 4 5 6 7 8 9 10 11 1 12 13 14 15 16 17 1819 2021 2223 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1819 20 21 2223 600 500 frequent sets frequent sets 800 600 400 300 400 200 200 100 0 0 0 500 1000 clones 1500 2000 0 500 1000 clones 1500 2000 24

Uitleg In zo n plot zien we talrijke groepen patiënten, waarbij elke groep zich ongeveer hetzelfde gedraagt op de 2000 + clones. Een tweetal patiënten is frequent als beiden op minstens 100 dezelfde clones een versterking, respectievelijk een verlies hebben. 25

Meer plots Links: de 55 maximale 10-itemsets (met steeds 10 patiënten), gecombineerde versterkingen en verliezen, met drempelwaarde 100; rechts: de patiënten uit die verzamelingen. 60 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18192021223 60 50 50 40 40 sample sets 30 sample sets 30 20 20 10 10 0 0 500 1000 1500 2000 clones 0 0 20 40 60 80 100 120 samples De verzamelingen hebben veel gemeen: goed of slecht? 26

Clustering Deze 55 verzamelingen kun je inbedden in het eenheidsvierkant: 45 28 16 14 15 19 17 21 22 25 24 23 27 31 3233 29 54 35 4846 30 34 18 36 39 38 40 44 47 52 51 926 10 11 37 13 20 43 53 42 12 49 50 55 41 31 5 8 27 4 6 De Euclidische afstand lijkt op de afstand die je krijgt door versterkingen en verliezen kwadratisch op te tellen. 27

En verder? beoordeel grenzen versterking/verlies (0.225? fuzzy?) maten voor interessantheid visualisaties (SOMs,... ) verwerk aaneengesloten zijn in support voeg gegevens als leeftijd toe en tijdsafhankelijkheid tool 28

Slotopmerkingen We zien succesvolle inzet van Data mining. Aandachtspunten zijn onder meer: privacy presentatie van resultaten toepasbaarheid van mooie algoritmen grootschaligheid 29