Data Mining: Schatgraven in Gegevensbergen Peter van der Putten
description
Transcript of Data Mining: Schatgraven in Gegevensbergen Peter van der Putten
Data Mining:
Schatgraven in Gegevensbergen
Peter van der Putten
ALP Group, LIACS & KiQ Ltd
6 April 2004
Agenda (ovb)
• College: 1400 -1500• Pauze: 1500 -1515• Practicum: 1515 -1615• Bespreken: 1615 -1645
Bronnen van (kunstmatige) intelligentie
• Redeneren versus leren• Leren uit data:
– Klantgegevens– Beurskoersen– Pianomuziek– Foto’s van verdachten– Websites op het internet– Robotwaarnemingen– Etc.
Data Mining & Knowledge Discovery in Databases
• Werkdefinitie– Het ontdekken van interessante, nuttige en
verborgen kennis in grote hoeveelheden data met intelligente patroonherkenningstechnieken
• Data mining is een interdisciplinair vakgebied:– Kunstmatige intelligentie, machine learning,
information retrieval, statistiek, statistische patroonherkenning, econometrie, cognitieve psychologie, neuroscience, etc.
Voorbeelden van data mining taken
• Zoeken– Matching: het zoeken naar best matchende objecten / patronen
• Voorspellen– classificatie: het toekennen van een bekende klasse aan een object
(‘nominale/categoriale voorspelling’)– predictie/regressie: het voorspellen van een numerieke kenmerk voor een
object (‘numerieke voorspelling’)• Beschrijven
– clusteren: het vinden van groepen van objecten (groepen/klassen van te voren niet bekend)
– rule discovery: het afleiden van interessante regels en verbanden (‘associatieregels’)
Zoeken in de patroonruimte
bvb. leeftijd
bvb.
inko
men
Zoeken naar best matchende patronen / objecten
Elk object is een punt in de ‘patroonruimte’. Dimensies zijn de eigenschappen van het object, bvb leeftijd en inkomen voor een klantendatabase, of aantal keren ‘Matej’ en ‘Kezman’ op een webpagina. Patroonruimtes zijn vaak hoogdimensionaal (10 tot duizenden dimensies)
Voorbeelden van voorspelalgoritmen
• Beslisbomen (decision trees)• Nabuuralgoritmen (nearest neighbor)• Neurale netwerken• Good old statistics• Genetische algoritmen / evolutionairy computing• Artificial Immune Systems• …..
• Vraag-antwoord spel
20000 klantenrespons 1%
inkomen>150000?
18800 klantenaankopen>10?
1200 klantensaldo>50000?
800 klantenrespons 1,8% etc.400 klanten
respons 0,1%
nee
neeja
ja
nee
Voorbeeld voorspel algoritme 1:Decision Trees (Beslisbomen)
Decision trees in de patroonruimte
bvb. leeftijd
bvb.
inko
men
Doel classifier is onderscheid te maken tussen klasse ‘cirkel’ en klasse ‘vierkant’ op basis van leeftijd en inkomen.
Decision tree heeft lijnstukken loodrecht op assen beschikbaar
Elk lijnstuk stelt een beslissing voor (splitsing in de boom)
Decision trees in de patroonruimte
bvb. leeftijd
bvb.
inko
men
Lijnstukken loodrecht op assen beschikbaar
Elk lijnstuk stelt een beslissing voor (splitsing in de boom)
Voorbeeld voorspel algoritme 2:Nearest Neighbour
• Data zelf is het voorspellingsmodel, dus geen abstracte representatie zoals een boom oid
• Voor een gegeven object x zoek die n objecten waarvan de klasse bekend is en die het meest lijken op x
• Voorspel voor object x de klasse die het meest voorkomt bij de best lijkende objecten
= nieuw geval
Elk willekeurig complex scheidingsvlak mogelijk
Voorwaarde: er moet wel genoeg data aanwezig zijn
Nearest Neighbor in de patroonruimte
Voorspellen
bvb. leeftijd
bvb.
inko
men
Elk willekeurig complex scheidingsvlak mogelijk
Voorwaarde: er moet wel genoeg data aanwezig zijn
Nearest Neighbor in de patroonruimte
Voorspellen
bvb. leeftijd
bvb.
inko
men
Voorspel algoritme 3:Neurale Netwerken
• Geinspireerd door werking neuronen in hersenen (McCullough & Pitts 1943 (!))
• Invoer (bvb klantkenmerken) wordt gecodeerd op invoerlaag, activatie stroomt door netwerk over verbindingen en leidt tot uitvoer op output laag (bvb interesse in product)
• Netwerk leert verbanden (gewicht verbindingen) aan de hand van voorbeelden en leerregel
invoer:bvb. klantkenmerken
uitvoer:bvb. respons
• Voorbeeld simpel netwerk (2 lagen)
• Interesse in product = leeftijd * gewichtleeftijd + inkomen * gewichtinkomen
Neurale Netwerken
gewichtinkomen
interesse in product
leeftijd inkomen
gewichtleeftijd
Neurale netwerken in de patroonruimte
Voorspellen
bvb. leeftijd
bvb.
inko
men
Simpel netwerk: slechts een lijn beschikbaar
Meerlaags netwerk:
Elk willekeurig scheidingsvlak mogelijk
e Beslisboom demo in WEKA, Een open source mining tool
Beschrijvende data mining:Clusteren
• Het vinden van groepen van objecten• Binnen een groep (cluster, segment) lijken objecten op
elkaar, groepen onderling zijn juist verschillend• Toepassingen bvb:
– Welke verschillende soorten wodkadrinkers bestaan er?– Voor een gegeven ziekte, zijn er verschillende groepen
patienten te onderscheiden die elk een verschillende behandeling nodig hebben?
– Etc.
Clusteren in de patroonruimte
bvb. leeftijd
bvb.
inko
men
Clusteren is het vinden van groepen in de patroon ruimte
In 2 of 3 dimensionale patroonruimtes zou je de data set kunnen visualiseren en het herkennen van clusters aan een gebruiker kunnen overlaten
Clusteren in de patroonruimte
bvb. leeftijd
bvb.
inko
men
Clusteren is het vinden van groepen in de patroon ruimte
In 2 of 3 dimensionale patroonruimtes zou je de data set kunnen visualiseren en het herkennen van clusters aan een gebruiker kunnen overlaten
Met meer dimensies kan dat niet
Beschrijvende data mining:associatie regels
• Ontdekken van regelmatigheden• Vorm: als A en B dan C• Voorbeeld:
– als aardappelen en boerenkool dan worst• Belangrijke maten
– Support regel: hoe vaak komen aardappelen en boerenkool (A,B) voor (hoeveelheid ‘bewijs’)
– Confidence regel: hoe vaak komt worst dan voor / support (geldt A,B C altijd?)
e Associatie regel demo in WEKA,
Wat is behandeld?
• Leren versus redeneren• Definitie data mining• Overzicht data mining taken• Voorbeeldalgoritmen voor voorspelling• Voorbeeldalgoritme associatieregels• Demo’s in WEKA• En nu: pauze en practicum (305)