SlideShare une entreprise Scribd logo
1  sur  134
Télécharger pour lire hors ligne
(Big) Data Analyse
Johan Quist
23 maart 2015
Inhoud
1 Big data en analytics;
waarom big data de vraag naar analytics vergroot
2 Big data, BI en analytics;
van datawarehouse naar datamining
3 Soorten Statistische analyse;
– univariate analyse (samenvatting statistiek)
– bivariate analyse (oa regressie)
– multivariate analyse (supervised en unsupervised)
Big Data sessie 23 maart 2015
Deel 1 big data en analytics
Definitie big data:
"Er bestaat geen exacte definitie van big data (...) De term
‘big data’ verwijst naar dingen die je op een grote schaal kunt
doen en op kleinere schaal niet mogelijk zijn, en waarmee je
nieuwe inzichten verkrijgt of nieuwe vormen van economische
waarde creëert op een manier die invloed heeft op (..) markten,
organisaties en de relatie tussen burgers en overheden”.
"data die niet meer in een normale database past"
(door grootte, structuur en snelheid)
Boek: Mayer/Cukier de big data revolutie
Big Data sessie 23 maart 2015
Definitie de 3Vs
• Volume : veel, heel veel
• Variety : gevarieeerd, lees ongestructureerd
• Velocity : hoge omloopsnelheid (denk aan tweets en
facebookgegevens)
Big Data sessie 23 maart 2015
Big data en analytics
• Hardware
• Softwarecapaciteiten(statistiek/analytics)
-> twee nieuwe uitdagingen
Big Data sessie 23 maart 2015
Twee componenten
Analytics
• Analyses op data om tot inzicht te komen
Andere namen
• Data analytics, Datamining, Statistical learning,
Machine learning, Data Science
Big Data sessie 23 maart 2015
Big data en Analytics
om hier grip op te krijgen -> analytics
Big Data sessie 23 maart 2015
Door Big data krijgen
organisaties beschikking
over zeer veel data
Analytics en big data/dwh
ook op data in datawarehouses
Big Data sessie 23 maart 2015
Analytics mogelijk op alle data
Business cases big data
Typische branchespecifieke doelstellingen
Banken: lening acceptatie
identificeren verdachte transacties
beurskoersvoorspelling
Verzekeraars: polisacceptatie
detectie valse claims
risicoanalyse
premiebepaling
Retail: basket analyse
optimaliseren winkelindeling
Big Data sessie 23 maart 2015
Business cases big data (vervolg)
Telecom: churn analyse op basis v. belgedrag
identificeren fraudeurs
Uitgevers,
reclamebureau’s: modelleren Web surfgedrag
media strategie bepaling
oplage voorspelling
publishing on demand
Overheid: daderprofilering (politie),
detectie belastingfraude
Big Data sessie 23 maart 2015
Big data en traditionele data
• Big data kan in combinatie met traditionele data een
completer beeld geven
• Vervangen of aanvulling van relationele databases?
Aanvulling! salarisadministratie doe je niet met Hadoop
• de puur praktische zaken waar mensen relationele
databases voor gebruiken.
Dat is niet waar de kracht ligt van Hadoop.
• Big data biedt kansen voor BI-ers
Big Data sessie 23 maart 2015
2.0 ‘term’ ook bij big data
• Internet 1.0 (bedrijven gaan op internet)
• -> 2.0 (gaan internet gebruiken in strategie)
• Big Data 1.0 (bedrijven leren omgaan met BD)
• -> 2.0 (bedrijven gaan Big Data gebruiken om dingen
beter te gaan den of nieuwe dingen te gaan doen.
Data Science for business Provost/Fawcett
Big Data sessie 23 maart 2015
Deel 2 Big data, BI en analytics
Gewenst is dat de twee werelden bijeen worden gebracht.
‘best of both worlds’
De plek van Big Data in de BI architectuur is eigenlijk niet anders dan
die van gestructureerde data. Het enige verschil is dat je
niet de luxe hebt om de traditionele implementatie te volgen.
BI-ers zullen aan de big data moeten.
“ Klanten zullen dashboards bv willen verrijken met bv het aantal
tweets, facebookvermeldingen. Het meten van allerlei bedrijfs-
processen zal steeds meer gepaard gaan met big data.
BI-ers moeten hier op in springen.”
Big Data sessie 23 maart 2015
DB
Datawarehouse
Data
marts
Data Informatie kennis
Werkgebied
BIDB
(Huidig) Werkgebied BI = data enginering
= omzetten van data in informatie, zodat anderen er informatie uit kunnen
halen
Data enginering en data analyse
Big Data sessie 23 maart 2015
Opkomst Big Data
Werkgebied BI
Data Informatie kennis
‘Big
Data’
Uitdaging 1: Big Data
verwerkingstechnieken
Grip op
big data
Uitdaging 2:
Data analyse
DB
Datawarehouse
Data
marts
DB
Big Data sessie 23 maart 2015
Kennis-Pyramide
Big Data sessie 23 maart 2015
Data Enginering: data omzetten om informatie te
verkrijgen (‘klassieke’ BI)
Data Analytics: statistische analyse gebruiken om
kennis te verkrijgen
Data driven decision making
Big Data sessie 23 maart 2015
Data Science for business
Provost/Fawcett
Grip op (big) data
Verschillende namen voor ongeveer het zelfde:
• Data analytics
• Datamining
• KDD knowlegde discovery from data
• Analytical learning
• Machine Learning
• Data science
Van informatie naar kennis
What’s in a name:
Big data is nu sexy, datamining niet, over 2 jaar ….
Big Data sessie 23 maart 2015
Grip op (big) data
Uitdaging 1 Bigdata verwerkingstechnieken:
• Hadoop
• Map Reduce
• NoSQL
• Inmemory
• Virtualisatie etc
-> Andere cursus
Big Data sessie 23 maart 2015
Opkomst Big Data
Werkgebied BI
Data Informatie kennis
‘Big
Data’
Uitdaging 2:
Data analyse
DB
Data
warehouse
datama
rts
DB
Datamining
engineData
marts
Knowlegde
base
Big Data sessie 23 maart 2015
DWH en analytics
Big Data sessie 23 maart 2015
Ingredienten statistical learning
Machine Learning/
Pattern
Recognition
Statistics/
AI
Statistical
Learning
Database
systems
Big Data sessie 23 maart 2015
De driehoek van de BI-er
DS
Domein
kennis
Science
Statistics,
Analytics
Big Data sessie 23 maart 2015
Engineering
DWH,
Hadoop
Java
Grip op alle data
• Grip op data; niet alleen big data
• Om big data betekenisvol te krijgen is analyse nodig.
Technieken werken ook bij ‘gewone data’
Big Data sessie 23 maart 2015
Van datawarehouse naar datamining
Werk vooraf aan analyse
• Omgaan met missende waarden
• Omgaan met duplicaten
• Data voorbehandelen
• Aggregatie/integratie
Big Data sessie 23 maart 2015
Vb. Omgaan met missende waarden
Strategiën:
1. Negeren
2. Handmatig invullen
3. Vervangen door constante (bv ‘Onbekend’)
4. Vervangen door gemiddelde
5. Vervangen door gemiddelde van zelfde klasse
6. Vervangen door meest waarschijnlijke waarde
Datamining concepts and techniques
Big Data sessie 23 maart 2015
Data preprocessing
Werk dat wij (BI-ers) doen!
Zijn wij goed in!!
Data op orde krijgen is vaak 50% van het werk bij
data analyse
Big Data sessie 23 maart 2015
CRISP-DM
Breekt het proces van
datamining in zes fases.
Big Data sessie 23 maart 2015
CRoss Industry Standard Process for Data Mining
Fases in datamining-project
• Business understanding
• Data understanding
• Data preparation
• Modeling
• Evaluation
• Deployment
Big Data sessie 23 maart 2015
studiebronnen
cursus
• Erasmus academie: masterclass grip op big data
• Coursera: introduction to data science (gratis)
Boeken o.a.
• Intro. to statistical learning with applications in R by James e.a.
• Data science for Business by Provost/Fawcett
• Datamining, concepts and techniques by Han/Kamber
• Vele, vele anderen (gratis op het internet)
Big Data sessie 23 maart 2015
Mijn achtergrond
• Ik vind statistiek leuk en interessant
• Lange tijd niets mee gedaan (veel vergeten)
• Half jaar geleden weer begonnen
• Ik houd van puzzelen
Big Data sessie 23 maart 2015
Deel 3 Overzicht statistische analyse
• Overzicht van verschillende methodes
• No free lunch!
->Afwegen welke methode het meest geschikt is
Big Data sessie 23 maart 2015
METHODEN
• Er bestaan heel veel methoden voor analyse van data
• Sommige heel eenvoudig
• Sommige heel ingewikkeld
• Het is niet zo dat er voor ieder probleem slechts 1 juiste
methode bestaat.
• Er bestaat geen methode die voor alle problemen de
oplossing is. Bovendien, voordat er gedacht kan worden over
“de juiste methode”: Zonder goede vraag is het geven van
een goed antwoord onmogelijk.
• Maar kennis van analytische methoden kan helpen de juiste
vraag te stellen
Big Data sessie 23 maart 2015
Door meer te weten over analytische methoden,
zul je beter in staat zijn “goede” vragen te
formuleren.
Het is leuk!
Big Data sessie 23 maart 2015
Doel: weg vinden in het woud
Kunnen plaatsen van o.a. volgende termen
Univariaat bivariaat multivariaat supervised
unsupervised trainingset testset statistiek gemiddelde
standaardeviatie boxplot regressie classificatie desision
trees neurale netwerken ensembles overfitting pruning
Support Vector Machines clusteranalyse dimension
reduction SPSS R accuracy precision recall nearest
neightbor Bayes Discriminant Analyse etc.
Big Data sessie 23 maart 2015
Historie statistische analyse
Big Data sessie 23 maart 2015
jaar persoon ontwikkeling
Begin
19e eeuw
Gauss
Legendre
Kleinste kwadraat
Lineaire regressie
1936 Fischer Lineaire discriminant analyse
+- 1940 diversen Logistieke regressie
1980 Opkomst niet lineaire methoden
(dankzij computercapaciteit)
Machine learning
1980 Opkomst DWH’s;
2010 Verdere toename hoeveelheid data
Big data
Verdere opkomst freeware R
(democratisering van de data-analyse)
R
Programmeertaal voor statistische analyse
Gratis :http:/www.r-project.org/
Veel tutorials
Gebruikers delen hun code
Big Data sessie 23 maart 2015
Werken met R
R in combinatie met R studio
Integraties R en andere tools (bv Tableau)
Taal/syntax redelijk ingewikkeld, zal wel makkelijker
worden (democratiseren analytics)
Kennis van de algoritmes zal noodzakelijk blijven!
Big Data sessie 23 maart 2015
Werken met R
• Packages beschikbaar
• Data eenvoudig te laden
• Printmogelijkheden (plotten)
Big Data sessie 23 maart 2015
R en big data
Hadoop; packages RHadoop, Rhipe, SparkR
In-memory; package h2o
MongoDB; packages rmongodb, Rmongo
http://www.rdatamining.com/big-data/r-hadoop-setup-guide
Big Data sessie 23 maart 2015
Big Data sessie 23 maart 2015
Soorten analyse
• Univariaat een enkele kansvariabele
beschrijvende statistiek
• Bivariaat twee kansvariabele
verbanden tussen twee
• Multivariaat meerdere kansvariabele
verbanden tussen meerdere variabelen
Big Data sessie 23 maart 2015
Univariaat
(Samenvatting statistiek)
• Gemiddelde (meest gebruikte)
• Mediaan
• Standaarddeviatie
• Normaalverdeling
• Variantie
• Boxplot
Big Data sessie 23 maart 2015
Gemiddelde, Mediaan, Modus
• Gemiddelde de meest gebruikte meetwaarde
is erg gevoelig voor uitschieters.
• Mediaan waarde van middelste, centrummaat
• Modus waarde die meest voorkomt
Big Data sessie 23 maart 2015
Range, Variantie
• Range is het verschil tussen de max. en de min.
• De variantie / standaardeviatie; meetwaarde om
spreiding weer te geven.
Big Data sessie 23 maart 2015
Normaalverdeling
meest voorkomende continue
verdeling
Big Data sessie 23 maart 2015
Of Gauss-verdeling door
Carl Friedrich Gauss (+- 1920)
Visualisatie; box plot
• Box Plots
– Uitgevonden door J. Tukey
– Manier om verdeling in data weer te geven
– Following figure shows the basic part of a box plot
outlier
10th percentile
25th percentile
75th percentile
50th percentile
10th percentile
Big Data sessie 23 maart 2015
R studio
Schermen opbouw R studio
• Source en save
• Console
• Environment/History
• Files/Plots/Package/Help/viewer
Big Data sessie 23 maart 2015
R Voorbeeld
Big Data sessie 23 maart 2015
Voorbeeld 1
Bivariate analyse
• Twee dimensionale data
• Univariaat: beschrijvend Bivariaat: verklarend
• Visualisatie: scatterplot
Big Data sessie 23 maart 2015
Regressie
Statistische techniek om samenhang tussen
gegevens weer te geven.
Big Data sessie 23 maart 2015
Voor het eerst gebruikt
door Francis Galton in
+- 1870
Regressie en correlatie
Bij correlatie vergelijkt men de variaties van twee
variabelen gemeten op interval- of ratio-niveau.
De correlatiecoëfficiënt (R) is een maat voor het
gezamenlijk variëren van twee variabelen
Bij enkelvoudige regressieanalyse stelt de onderzoeker
eerst vast welke variabele afhankelijk is en welke
onafhankelijk. Regressieanalyse veronderstelt dus
causaliteit tussen de variabelen.
Big Data sessie 23 maart 2015
Regressie
Samenhang wordt weergegeven in een functie.
Enkelvoudig: Y = ax + b
Meervoudig: Y = a1 x1 + a2 x2 + an xn + b
Het gaat om correlaties/verbanden weergegeven van
0 (geen verband tussen X en Y) tot
1 (volledig verband)
Big Data sessie 23 maart 2015
Berekeningswijze Regressie
Gauss berekende er
de baan van de pas
ontdekte planetoïde
Ceres mee
Big Data sessie 23 maart 2015
Kleinste kwadraatmethode
Ontdekt door Gauss en Legendre (tegelijkertijd)
R Voorbeeld: regressie
Big Data sessie 23 maart 2015
Verschillende types attributen
• Nominaal
Voorbeelden: ID nummers, oogkleur, codes
• Ordinaal
Voorbeelden: rankings (b.v. smaak van chips op schaal van 1-10),
graden, hoogte in {groot, medium, kort}
• Interval
Voorbeelden: kalender data, temperatuur in Celsius of Fahrenheit.
• Ratio
Voorbeelden: temperatuur in Kelvin, lengte, tijd, aantallen
Big Data sessie 23 maart 2015
Regressie bij dichotome variabelen
Big Data sessie 23 maart 2015
Wat als de verklarende variabelen dichotoom is?
Bijvoorbeeld: hangt bloeddruk af van het geslacht?
Geen probleem. Eventueel dummy-waardes nodig
Kleur: rood-geel-blauw (dummy-waardes per kleur)
Nr Kleur Rood Geel blauw
1 Blauw 0 0 1
2 Rood 1 0 0
3 geel 0 1 0
Regressie bij dichotome variabelen
Big Data sessie 23 maart 2015
Continu: ok
Dichotoom: ok
Nominaal met meer dan twee categorieën: maak
dummy’s (hulpvariabelen)
Ordinaal: als er sprake lijkt van een lineaire trend: ok,
anders dummy’s
Wat als verklaarde variabele dichotoom is:
Dan lineaire regressie niet mogelijk, wel logistieke
regressie (komt verderop)
Multivariate analyse
Relaties tussen meerdere variabelen opsporen.
Big Data sessie 23 maart 2015
Twee groepen
• Supervised learning
• Unsupervised learning
Wat is Supervised learning?
Er is sprake van een afhankelijke, te voorspellen variabele
Aan de hand van gegevens zoeken we een functie/algoritme
die de gegevens (onafhankelijke variabelen) omzet naar een
uitkomst “klasse”
Bv. welke klanten zullen niet in staat zijn hun lening af te
lossen. (kijken naar bv leeftijd, geslacht, afkomst)
Y zo goed mogelijk schatten aan de hand van X
Big Data sessie 23 maart 2015
Test en training
Data wordt gesplitst in een
• Training set
• Test set
• Trainingset wordt gebruikt om functie te vinden
• Testset wordt gebruikt om vast te stellen hoe goed de
functie het doet.
Big Data sessie 23 maart 2015
Test en training
Apply
Model
Induction
Deduction
Learn
Model
Model
Tid Attrib1 Attrib2 Attrib3 Class
1 Yes Large 125K No
2 No Medium 100K No
3 No Small 70K No
4 Yes Medium 120K No
5 No Large 95K Yes
6 No Medium 60K No
7 Yes Large 220K No
8 No Small 85K Yes
9 No Medium 75K No
10 No Small 90K Yes
10
Tid Attrib1 Attrib2 Attrib3 Class
11 No Small 55K ?
12 Yes Medium 80K ?
13 Yes Large 110K ?
14 No Small 95K ?
15 No Large 67K ?
10
Test Set
Learning
algorithm
Training Set
Big Data sessie 23 maart 2015
Wat is Unsupervised Learning?
• Geen sprake van afhankelijke, te voorspellen waarde
• We zoeken naar structuren/verbanden
• Bv. hoe (in welke groepen) kunnen we onze klanten
onderverdelen
Big Data sessie 23 maart 2015
Wat is Unsupervised learning? 2
• Proberen structuur te brengen in ogenschijnlijk
ongestructureerde gegevens
• Kan als aanzet dienen bij opstellen van verdere
onderzoeksvragen.
• Maar dat hoeft niet
(voorbeelden later)
Big Data sessie 23 maart 2015
Supervised Learning
Regressie voor meer variabelen
Multiple regressie
Y = a1 x1 + a2 x2 + an xn + b
Confounder: wat is de (echt) bepalende factor?
Big Data sessie 23 maart 2015
relatie studieuren en cijfer
Big Data sessie 23 maart 2015
Linear Regression
2,50 5,00 7,50 10,00 12,50
studieuren
5,00
6,00
7,00
8,00
9,00cijfer





 



cijfer = 7,76 + -0,09 * studieuren
R-Square = 0,09
Hoe langer je studeert hoe lager je cijfer ??
Vooropleiding meegenomen
Big Data sessie 23 maart 2015
 hoog
 laag
vooropleiding
2,50 5,00 7,50 10,00 12,50
studieuren
0,00
4,00
8,00
12,00
cijfer





 



Confounder
Big Data sessie 23 maart 2015
• In beide groepen, gevormd op grond van de
vooropleiding, is een positief effect van studie-uren
op het cijfer
• Dit effect is in beide groepen ongeveer gelijk
• Als we geen rekening houden met de vooropleiding,
schatten we het effect van studie-uren op het cijfer
totaal verkeerd
• Vooropleiding wordt een confounder genoemd
Lineaire Regressie mogelijk?
Regressie gaat uit van interval of ratio-nivo
De afhankelijke variabelen zijn continue van aard. Ook
wel kwantitatieve analyse genoemd
Wat als afhankelijke variabelen nominaal
of ordinaal zijn?
Lineaire Regressie is dan niet mogelijk. Wel mogelijk
zijn kwalitatieve analysemethodes
Big Data sessie 23 maart 2015
Logistieke regressie
Alternatief: Logistieke regressie
Regressie geschikt voor variabelen die dichotoom van
aard zijn
niet de dichotome uitkomst zelf wordt gemodelleerd,
maar de kans op die uitkomst.
http://www.ru.nl/socialewetenschappen/rtog/tips/onderdelen/logistische/
Big Data sessie 23 maart 2015
R Voorbeeld logistieke regressie
Big Data sessie 23 maart 2015
Classificatie
indelen of het van objecten, verschijnselen of
processen in groepen op grond van
overeenkomsten of verwandschap in
eigenschappen of kenmerken
Waarden zijn niet kwantitatief, zoals bij regressie
Big Data sessie 23 maart 2015
Voorbeelden bij classificatie
• Zegt een klant zijn abonnement op?
• Wordt er gefraudeerd?
• Krijgt een schip een ongeluk?
Hoe classificeren we de opzeggers, fraudeurs, zinkende
schepen?
Big Data sessie 23 maart 2015
Classificatie technieken
• Decision Tree methoden
• Ensembles
• Nearest neigthbors
• Rule-based methoden
• Discriminant analyse
• Neurale netwerken
• Naïve Bayes and Bayesian Belief Networks
• Support Vector Machines
Big Data sessie 23 maart 2015
Vergelijken methodes
Regressie is bv sterk vereenvoudigd, eenvoudig te
schatten, eenvoudig te interpreteren, maar tamelijk
beperkt.
Andere methodes zijn soms moeilijker te interpreteren
maar voorspellen weer beter
Keuze bij methode:
Trade-off tussen simplicity en accuracy
Interpreteerbaarheid - Voorspelbaarheid
Big Data sessie 23 maart 2015
Interpreteerbaar - Flexibel
flexibiliteit
laag hoog
interpretrrbaar
hooglaag
Trees
Regressieanalyse
Bagging/
boosting
Support vector
machines
Big Data sessie 23 maart 2015
Model evaluatie
Big Data sessie 23 maart 2015
PREDICTED CLASS
ACTUAL
CLASS
C(i|j) Class=Yes Class=No
Class=Yes C(Yes|Yes) C(No|Yes)
Class=No C(Yes|No) C(No|No)
FNFPTNTP
TNTP
dcba
da





Accuracy
Beperkingen accuracy
Er zijn bijvoorbeeld 2-klassen
• aantal van klasse A = 9990
• Aantal van klasse B = 10
Als een model altijd klasse A voorspelt, is de accuracy
9990/10000 = 99.9 %
-> Accuracy is misleidend omdat het model geen klasse B
voorspelt (vb. Alle schepen zullen blijven drijven)
Big Data sessie 23 maart 2015
Andere maten
Big Data sessie 23 maart 2015
ba
a
ca
a




(r)Recall
(p)Precision
Precision: (aantal werkelijke positieven)
/(totaal aantal voorspelde positieve)
Recall: (aantal werkelijke positieven)
/(aantal werkelijke positieven + foute
negatieven)
Decision trees
• Intuïtief
• Qua rekenwerk eenvoudig
• Eenvoudig interpreteerbaar
• Voorbeeld: spelletje
• Ik heb een beroemd persoon in mijn hoofd
• Jullie mogen vragen stellen ik antwoord alleen
met ja of nee
• Wat zijn goede vragen
Big Data sessie 23 maart 2015
Voorbeeld decision tree
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
MarriedSingle, Divorced
< 80K > 80K
Splitting Attributes
Training Data Model: Decision Tree
Tid Refund Marital
Status
Taxable
Income Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes
10
Big Data sessie 23 maart 2015
Decision trees
Essensiële vragen
• Hoe bepalen welke variabelen we gebruiken
om te splitsen
• Wanneer stoppen we met splitsen
Big Data sessie 23 maart 2015
Decision Trees: puurheid
• Impurity
• Maximale impurity: van iedere klasse evenveel
waarnemingen in een knoop
• Minimale impurity: blad komt precies overeen
met een klasse
• We willen van impure naar pure
• Maten voor impurity : bv. Gini, Entropy
Big Data sessie 23 maart 2015
Wanneer stoppen met opsplitsen
• Teveel splitsen : overfitting
• werkt dan wel goed voor de trainingsdata
• Maar niet meer voor de testdata
• stopcriteria
Big Data sessie 23 maart 2015
R voorbeeld Decision trees
Big Data sessie 23 maart 2015
Ensembles van Decision Trees
• Overfitting voorkomen -> snoeien
• Gaat ook voorspelkracht achteruit
• Methode die goede voorspelkracht heeft en
niet zo variabel
• -> essembles
• Idee “wisdom of the crowds
Big Data sessie 23 maart 2015
Bootstrap
• In plaats van 1 voorspeller , meerdere
• Bootstrap: meerdere steekproeven
• Steekproeven gebruiken om tot betere
voorspeller te komen.
• Essemble van voorspellers
Big Data sessie 23 maart 2015
Bagging
• Trek B bootstrap samples (bv 500)
• Maak voor iedere sample een boom
• Combineer de resultaten
• Dit heet Bagging (bootstrap aggragating)
• Andere methode: Random Forest
Big Data sessie 23 maart 2015
R voorbeeld random forest
Big Data sessie 23 maart 2015
Nearest neightbors
• Basis idee
Als het er uit ziet als een eend en kwaakt als een eend
dan is het waarschijnlijk een eend
Unknown record
Big Data sessie 23 maart 2015
Werkwijze
– Bereken afstand tot andere training records
Euclidean distance
– Identiceer k nearest neighbors
– Label ze
Big Data sessie 23 maart 2015
Vgl lineair model en nearest neightbors
• k-NN classifiers zijn langszame leerders
• NN- Modellen worden niet expliciet opgebouwd
• Het linear model maakt veel assumpties over de
structuur van het probleem, maar is vrij stabiel
• Nearest neighbors is vrijwel assumptie-vrij,maar
resultaten kunnen vrij instabiel zijn
• Beide methoden kunnen krachtiger zijn in
verschillende settings door verschillende redenen
Big Data sessie 23 maart 2015
R voorbeeld nearest neightbors
Big Data sessie 23 maart 2015
Ruled based classificatie
R1: (Give Birth = no)  (Can Fly = yes)  Birds
R2: (Give Birth = no)  (Live in Water = yes)  Fishes
R3: (Give Birth = yes)  (Blood Type = warm)  Mammals
R4: (Give Birth = no)  (Can Fly = no)  Reptiles
R5: (Live in Water = sometimes)  Amphibians
Name Blood Type Give Birth Can Fly Live in Water Class
human warm yes no no mammals
python cold no no no reptiles
salmon cold no no yes fishes
whale warm yes no yes mammals
frog cold no no sometimes amphibians
komodo cold no no no reptiles
bat warm yes yes no mammals
pigeon warm no yes no birds
cat warm yes no no mammals
leopard shark cold yes no yes fishes
turtle cold no no sometimes reptiles
penguin warm no no sometimes birds
porcupine warm yes no no mammals
eel cold no no yes fishes
salamander cold no no sometimes amphibians
gila monster cold no no no reptiles
platypus warm no no no mammals
owl warm no yes no birds
dolphin warm yes no yes mammals
eagle warm no yes no birds
Big Data sessie 23 maart 2015
Discriminant analyse
Uit 1936 ! Door R.A. Fischer
Een beslissingsprocedure om van een nieuwe
waarneming uit te maken bij welk van een aantal
gegeven sets waarnemingen deze het beste past. In een
eenvoudig geval is van elk van twee populaties een
steekproef bekend. Van een nieuwe waarneming is
weliswaar bekend dat deze uit een van de beide
populaties afkomstig is, maar niet uit welke.
Big Data sessie 23 maart 2015
Neurale netwerken
-het knooppunt: Te vergelijken met
het neuron in een menselijk brein.
-de koppeling: Te vergelijken met
de verbindingen tussen deze
neuronen
http://gekkoquant.com/2012/05/26/neural-networks-with-r-simple-example/
Big Data sessie 23 maart 2015
Een neuraal netwerk is in enige mate gebaseerd op de
organisatie van het menselijke brein en de manier waarop
de hersenen leren. Er zijn twee belangrijke structuurelementen
in het neurale netwerk:
Neurale netwerken
Qua prestaties blijkt uit de literatuur dat neurale
netwerken een grotere voorspelkracht hebben dan de
klassieke statistische methoden als regressie- en
discriminantanalyse, vooral indien de onderliggende
relaties niet-lineair zijn. De prestaties van meer-
geavanceerde statistische methoden zijn echter
vergelijkbaar met die van neurale netwerken.
Big Data sessie 23 maart 2015
R voorbeeld neuraal netwerk
Big Data sessie 23 maart 2015
Naïve Bayes
Gebaseerd op theorema van Bayes:
kans op gebeurtenis uitgedrukt in voorwaardelijke
kansen bij elk van de mogelijkheden
Big Data sessie 23 maart 2015
Idee Bayes
Bayesiaanse statistiek <-> Frequentische statistiek
Bayes gedachte:
kennis uit het verleden toe passen om statistische
voorspellingen te maken. Krijg je eerlijkere
voorspellingen, die niet blind zijn voor de wereld naast
de statistiek, zoals dat bij de gewone (frequentistische)
statistiek wel is.
Big Data sessie 23 maart 2015
Bayes theorema : een voorbeeld
Big Data sessie 23 maart 2015
Gegeven:
– Een dokter weet dat meningitis in 50% van de gevallen
nekpijn veroorzaakt
– De kans dat een patient meningitis heeft is 1/50,000
– De kans dat een patient nekpijn heeft is 1/20
• Als een patient nekkramp heeft, wat is dan de kans dat hij
meningitis heeft?
0002.0
20/1
50000/15.0
)(
)()|(
)|( 


SP
MPMSP
SMP
Voorbeeld Naïve Bayes: reumatest
P(Z)=0,01 (kans dat iemand de ziekte heeft)
P(+|Z)= 0,70 (de kans op een positieve uitslag als de ziekte aanwezig is)
P(-|niet Z)=0,80 (de kans op een negatieve uitslag als de ziekte afwezig is)
P(Z|+) = P(+|Z)P(Z) . = 0,70x0,01 .
P(+|Z)P(Z)+P(+|niet Z)P(niet Z) 0,70x0,01+0,20x0,99 = 0,034
Dus zelfs bij een positieve uitslag van de test is de kans dat de onderzochte
persoon de ziekte heeft maar iets meer dan drie procent.
Conclusie: De "reumatest" is in deze situatie nagenoeg onbruikbaar.
Big Data sessie 23 maart 2015
Naïve Bayes - samenvatting
• Robuust mbt afwijkende punten
• Ontbrekende waarden zijn eenvoudig op te vangen
• Maakt sterke veronderstellingen:
Onafhankelijkheid,
Continue data met normale distributie
(preprocessing vaak noodzakelijk)
Big Data sessie 23 maart 2015
Voorbeeld Bayes
Big Data sessie 23 maart 2015
Support Vector Machines
• Bedacht in jaren 60 (Vapnik)
• Methode van data classificeren
• Binair classificeren in een vectorruimte
Big Data sessie 23 maart 2015
Support Vector Machines
Big Data sessie 23 maart 2015
Doel : scheidslijn vinden om data te scheiden
Support Vector Machines
Een mogelijkheid
Big Data sessie 23 maart 2015
B1
Support Vector Machines
Big Data sessie 23 maart 2015
B2
Een andere mogelijkheid
Support Vector Machines
Welke is beter? B1 or B2?
Hoe definieer je wat beter is?
Big Data sessie 23 maart 2015
B1
B2
Support Vector Machines
Support Vectors:
Punten die door de ‘dikke lijn’geraakt worden
Big Data sessie 23 maart 2015
Unsupervised Learning
Geen sprake van afhankelijke, te voorspellen waarde. We
zoeken naar structuren/verbanden. Geen voorspellingen.
We zoeken bijvoorbeeld naar gelijksoortige groepen.
Voorbeelden:
• Clusteranalyse
• Dimensie reductie
Big Data sessie 23 maart 2015
Clusteranalyse
Observaties in “homogene” groepen indelen
Zoek naar clusters van waarnemingen die gelijksoortig
zijn en interpreteer de clusters door te kijken naar de
verschillen/overeenkomsten m.b.t. geobserveerde
variabele waarden in de verschillende clusters.
Big Data sessie 23 maart 2015
Clusteranalyse
Big Data sessie 23 maart 2015
Soorten:
• Hierarchisch
• K-means
Hierarchische Cluster Analyse
• Beschouw iedere waarneming als een cluster
• Bereken de afstanden tussen alle clusters
• Voeg clusters die het dichts bij elkaar liggen samen
• Ga door tot er één cluster over is (of een van te voren
bepaald aantal)
Er zijn verschillende maten om de afstanden te bepalen
- Euclidisch, Minkowski, Manhattan, Cosine en vele
andere
Big Data sessie 23 maart 2015
Hierarchische clusering
Big Data sessie 23 maart 2015
p4
p1
p3
p2
p4p1 p2 p3
Traditional Hierarchical Clustering Traditional Dendrogram
K-means
• Bij hierarchische clustering moeten de afstanden
tussen alle punten berekend worden
• Kan snel een probleem worden
• Partieel clusteren is hiervoor een oplossing: K-
means
Big Data sessie 23 maart 2015
K-means
• Ieder cluster heeft een centroide (gemiddeld punt in
een cluster
• Idee: voeg waarnemingen toe aan het cluster wiens
centroide het dichtst bij zit
• Maar centroide hangt af van de punten in het cluster
Big Data sessie 23 maart 2015
Clustering: K-means
Algoritme
1. Maak k clusters (wijs punten bijvoorbeeld willekeurig
toe aan 1 van de k clusters
2. Bereken voor ieder punt de afstanden tot de k cluster
centroides. Wijs punten toe aan dichtstbijzijnde
cluster
3. Je hebt nu nieuwe clusters. Bereken daar weer de
centroides bij en ga terug naar stap 2. Herhaal tot er
niets meer veranderd.
Big Data sessie 23 maart 2015
Cluster analyse: aantal clusters
• Hoe bepalen we hoeveel clusters we zoeken?
• Bij hierarchische clustering kun je het hele
dendogram bekijken en daarop je keue baseren
• Bij K-means moet je aangeven hoeveel clusters
• Kies de maat van de ‘cluster kwaliteit’ . Bereken die
maat voor verschillende K en kijk welke K optimaal is
• Cluster kwaliteit: bv variantie binnen clusters moet
klein zijn. Variantie tussen de clusters moet groot zijn.
Big Data sessie 23 maart 2015
Clusteranalyse
SSE-methode
Voor verschillende waarde van K berekenen we de som
van de gekwadrateerde afstanden (SSE)
Andere methode : Calinski-Harabasz
(kijkt naar de variantie tussen de clusters)
Big Data sessie 23 maart 2015
R Voorbeeld Cluster analyse
Big Data sessie 23 maart 2015
Dimensie reductie
• Als er heel veel variabelen zijn dan is het lastig om
middels eenvoudige statistiek het overzicht te
behouden
• Kleinere set van variabelen wenselijk
• Dimensie reductie methoden zoeken naar zo’n
kleinere set
Big Data sessie 23 maart 2015
Dimensie reductie
• Methode om een (liefs klein) aantal samengestelde
variabelen te vinden die de data goed beschrijven
• Voorbeeld methode:
Principale component analyse (PCA)
PCA = zoeken naar laag-dimensionele presentatie van
de observaties
Clustering = zoeken naar homogene subgroepen
Big Data sessie 23 maart 2015
Voorbeeld inleiding R
n<-15 #waarde wordt toegekend aan variabele n
n # laat n zien, [1] betekent: het eerste element
5->n # anderso kan ook
n
n<-2+10 #optellen
n<-rnorm(1) # random variabele met gem. 0
n #komt (random) dus steeds andere waarde uit
?rnorm # hulp over rnorm
x <- c(3, 7, 10, 20) # definieren van een vector x
mean(x) # gemiddelde
median(x) # mediaan
sqrt(x) # wortel
y <- x^2 # we definieren een vector y
x # laat x zien
y # laat y zien
cor(x,y) # correlatie tussen x en y
boxplot(x) # mediaan, 1e en 3e kwartiel (mediaan van 1e en 2e helft)
# kleinste en grootste waarneming
plot(x, y, main="Scatterplot Example",
xlab="x as", ylab="y as", pch=19)
summary(x) # allerlei statistische gegevens over x
Big Data sessie 23 maart 2015
#dubbelen verwijderen
x2 <- c (1 , 1, 1, 2, 2, 2, 3, 3, 3, 3)
duplicated (x )
x2 <- x[! duplicated (x )]
x2
#normaalverdeling
x <- rnorm(50); y <- rnorm(50) #random norm
hist(x, main="histogram")
boxplot(x, main="boxplot")
text(0,5,"histogram") # print "histogram" in het punt (0,5)
plot(x,y,main="figuur 1")
qqnorm(x, main="qq-plot") # qq-plot
y <- 0:30
plot(y, dbinom(y, 30, 0.25), type = "h")
Voorbeeld packages
# voorbeeld laden packages
install.packages('party') # package installeren
library(party) # party laden
# irisdataset, bevat 150 irissen die behoren tot drie soorten
# Setosa, Versicolor en Viginica
# Irissen zijn beschreven adhv vier eigenschappen
# lengte en breedte van bloemblaadjes(petal) en kelkblaadjes (sepal)
str(iris) # iris laten zien, structuur
summary(iris) # belangrijke gegevens
table(iris$Species)
pie(table(iris$Species))
var(iris$Sepal.Length) # variatie in lengte
hist(iris$Sepal.Length) # normaalverdeling lengte
Big Data sessie 23 maart 2015
Voorbeeld regressie
year <- rep(2008:2010, each = 4)
quarter <- rep(1:4, 3)
cpi <- c(162.2, 164.6, 166.5, 166, 166.2, 167, 168.6, 169.5, 171,
172.1, 173.3, 174)
plot(cpi, xaxt = "n", ylab = "CPI", xlab = "")
axis(1,labels=paste(year,quarter,sep="Q"), at =1:12, las =3)
cor(year,cpi) ##serke correlatie jaar en cpi
cor(quarter,cpi) ##minder sterke corr. quarter en cpi
fit <- lm(cpi ~ year + quarter) # lineair model
fit
cpi2011 <- fit$coefficients[[1]] +
fit$coefficients[[2]] * 2011 +
fit$coefficients[[3]] * (1:4)
cpi2011 ##voorspellen 2011
##3d plot
library(scatterplot3d)
s3d <- scatterplot3d(year, quarter, cpi, highlight.3d = T, type = "h",
lab = c(2, 3)) # lab: number of tickmarks on x-/y-axes
s3d$plane3d(fit) # draws the fitted plane
Big Data sessie 23 maart 2015
Voorbeeld logistieke regressie
# voorbeeld logistieke regressie
library("MASS")
data(menarche)
str(menarche) # str geft structuur van de data
menarche # leeftijd, totaal aantal meisjes, leeftijd eerste mens.
summary(menarche)
plot(Menarche/Total ~ Age, data=menarche) # plot %dat menache heeft gehad , 1 = 100%
# voorbeeld log. regressie
# lineair verband tussen leeftjd en menstruatieleeftijd
# uitkomst is dichotoom per indivdu (wel/niet), vandaar geen lin.regressie mogelijk
glm.out = glm(cbind(Menarche, Total-Menarche) ~ Age, family=binomial(logit), data=menarche)
#logit -> logistieke regressie
lines(menarche$Age, glm.out$fitted, type="l", col="red")
title(main="Menarche Data with Fitted Logistic Regression Line")
# lijn volgt heel goed de punten
summary(glm.out)
Big Data sessie 23 maart 2015
Voorbeeld Decision Tree
tree.model
my.prediction <- predict(tree.model, test.set)
my.prediction
install.packages('tree')
library(tree)
plot(tree.model)
text(tree.model
rpart.tree <- rpart(Species ~ ., data=train.set)
plot(rpart.tree, uniform=TRUE, branch=0.6, margin=0.05)
text(rpart.tree, all=TRUE, use.n=TRUE)
title("Training Set's Classification Tree")
predictions <- predict(rpart.tree, test.set, type="class")
table(test.set$Species, predictions)
confusion<-table(predictions,irisdata)
y
prediction
plot(iris$Petal.Length, iris$Petal.Width, main="Edgar Anderson's Iris
Data"))
test_sample = sample(1:150, 50)
test_data = iris[test_sample, ]
training_data = iris[-test_sample, ]
fit_tree = tree(iris.type ~ ., data = training_data)
test_predictions = predict(fit_tree, test_data, type = "class")
test_error = sum(test_predictions != test_data$iris.type)/nrow(test_data)
test_error
Big Data sessie 23 maart 2015
str(iris)
iris
library("party")
iris_ctree <- ctree(Species ~ Sepal.Length + Sepal.Width + Petal.Length +
Petal.Width, data=iris)
print(iris_ctree)
plot(iris_ctree)
fancyRpartPlot(iris_ctree, cex=.7)
predict<-predict(iris_ctree,type="prob")
irisdata<-iris
y<-irisdata$type
confusion<-table(predict,y)
confusion
irisdata
predict
table(predict())
set.seed(101)
alpha <- 0.7 # percentage of training set
inTrain <- sample(1:nrow(iris), alpha * nrow(iris))
train.set <- iris[inTrain,]
test.set <- iris[-inTrain,]
train.set
test.set
tree.model <- tree(Species ~ Sepal.Width + Petal.Width, data=train.set)
)
Voorbeeld random forest
# split into two subsets: training (70%) and test (30%)
ind <- sample(2, nrow(iris), replace=TRUE, prob=c(0.7, 0.3))
train.data <- iris[ind==1,]
test.data <- iris[ind==2,]
# use all other variables to predict Species
library(randomForest)
rf <- randomForest(Species ~ ., data=train.data, ntree=100, proximity=T)
table(predict(rf), train.data$Species)
print(rf)
plot(rf, main = "")
importance(rf)
varImpPlot(rf)
irisPred <- predict(rf, newdata = test.data)
table(irisPred, test.data$Species)
plot(margin(rf, test.data$Species))
Big Data sessie 23 maart 2015
Voorbeeld Nearest Neightbors
## voorbeeld nearest neightbors
# 3 punten in klasse A
A1=c(0,0)
A2=c(1,1)
A3=c(2,2)
# 3 punten in Klasse B
B1=c(6,6)
B2=c(5.5,7)
B3=c(6.5,5)
# bouwt de classificatie
train=rbind(A1,A2,A3, B1,B2,B3)
plot(train) # laat de punten zien in een plot
cl=factor(c(rep("A",3),rep("B",3)))
#kijken bij welke klasse een punt valt
test=c(4,4)
library(class)
# call knn() and get its summary
summary(knn(train, test, cl, k = 1))
# valt dus in klasse b, (daar staat 1)
# ander punt testen, dat in a blijkt te vallen
test=c(3.5, 3.5)
summary(knn(train, test, cl, k = 1))
Big Data sessie 23 maart 2015
Voorbeeld Neural Networks
install.packages('neuralnet')
library("neuralnet")
#Maken van een neural network dat vierkantswortel berekend
#Type ?neuralnet voor meer info
#Genereer 50 random nummers uniform gedistr. tussen 0 and 100
#en bewaar het als een dataframe
traininginput <- as.data.frame(runif(50, min=0, max=100))
trainingoutput <- sqrt(traininginput)
#Column bind the data in een variabele
trainingdata <- cbind(traininginput,trainingoutput)
colnames(trainingdata) <- c("Input","Output")
#Train het neurale network
#10 hidden layers
#Threshold is a numeric value specifying the threshold for the partial
#derivatives of the error function as stopping criteria.
net.sqrt <- neuralnet(Output~Input,trainingdata, hidden=10, threshold=0.01)
print(net.sqrt)
#Plot het neurale network
plot(net.sqrt)
#Test neural network met trainingsdata
testdata <- as.data.frame((1:10)^2) #Generate some squared numbers
net.results <- compute(net.sqrt, testdata) #Run them through the neural network
#Lets see what properties net.sqrt has
ls(net.results)
#zie resultaten
print(net.results$net.result)
#Lets display a better version of the results
cleanoutput <- cbind(testdata,sqrt(testdata),
as.data.frame(net.results$net.result))
colnames(cleanoutput) <- c("Input","Expected Output","Neural Net Output")
print(cleanoutput)
/
Big Data sessie 23 maart 2015
Voorbeeld Bayes
install.packages("e1071")
library(e1071)
# bouwen van naiveBayes
data(iris)
# m <- naiveBayes(Species ~ ., data = iris)
m <- naiveBayes(iris[,-5], iris[,5])
m
table(predict(m, iris), iris[,5])
Big Data sessie 23 maart 2015
Voorbeeld Clusteranalyse
# voorbeeld clustering
set.seed(8953) # random nummer generator
iris2 <- iris
# remove class IDs
iris2$Species <- NULL
# k-means clustering met 3 clusters
iris.kmeans <- kmeans(iris2, 3)
# check resultaat
iris.kmeans # 3 clusters met grootte 38,50 en 62
table(iris$Species, iris.kmeans$cluster)
# plot clusters and their centers
# resultaat laat zien dat cluster “setosa” eenvoudig te scheiden is van andere clusters,
# en dat clusters “versicolor” en “virginica” licht over overlappen
plot(iris2[c("Sepal.Length", "Sepal.Width")], col=iris.kmeans$cluster)
points(iris.kmeans$centers[, c("Sepal.Length", "Sepal.Width")],
col=1:3, pch="*", cex=5)
#hierarchische clustering
idx <- sample(1:dim(iris)[1], 40)
irisSample <- iris[idx,]
irisSample$Species <- NULL
hc <- hclust(dist(irisSample), method="ave")
plot(hc, hang = -1, labels=iris$Species[idx])
irisSample
Big Data sessie 23 maart 2015
Boeken
Aanraders
Technisch
• An introduction to statistical learning with R / James e.a.
Voor managers
• Data science for business / Provost e.a.
Over relatie met DWH
• Datamining concepts and techniques / Han e.a.
• Introduction to data sience / Coursera university
• Bayesiaanse statistiek in de rechtspraak / Jenneke IJzerman
• Neurale netwerken versus statistische methoden: een vergelijking / Huizingh e.a.
Alles gratis op het internet!!
Big Data sessie 23 maart 2015

Contenu connexe

En vedette

What is Analytics?
What is Analytics?What is Analytics?
What is Analytics?Alfred Essa
 
Cognitive banking with expert insights
Cognitive banking with expert insightsCognitive banking with expert insights
Cognitive banking with expert insightsIBM Analytics
 
Training in Analytics and Data Science
Training in Analytics and Data ScienceTraining in Analytics and Data Science
Training in Analytics and Data ScienceAjay Ohri
 
Expert opinion on managing data breaches
Expert opinion on managing data breachesExpert opinion on managing data breaches
Expert opinion on managing data breachesIBM Analytics
 
Big Data in Education
Big Data in EducationBig Data in Education
Big Data in EducationAlfred Essa
 
Sales performance management and C-level goals
Sales performance management and C-level goalsSales performance management and C-level goals
Sales performance management and C-level goalsIBM Analytics
 
Business analytics presentation
Business analytics presentationBusiness analytics presentation
Business analytics presentationDatKnoSys
 
The science of client insight: Increase revenue through improved engagement
The science of client insight: Increase revenue through improved engagementThe science of client insight: Increase revenue through improved engagement
The science of client insight: Increase revenue through improved engagementIBM Analytics
 
Business Analytics Overview
Business Analytics OverviewBusiness Analytics Overview
Business Analytics OverviewSAP Analytics
 
Graph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXGraph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXBenjamin Bengfort
 
Data Lake: A simple introduction
Data Lake: A simple introductionData Lake: A simple introduction
Data Lake: A simple introductionIBM Analytics
 
Business analytics
Business analyticsBusiness analytics
Business analyticsSilla Rupesh
 
Big Data Startups - Top Visualization and Data Analytics Startups
Big Data Startups - Top Visualization and Data Analytics StartupsBig Data Startups - Top Visualization and Data Analytics Startups
Big Data Startups - Top Visualization and Data Analytics Startupswallesplace
 
Predictive Analytics - An Overview
Predictive Analytics - An OverviewPredictive Analytics - An Overview
Predictive Analytics - An OverviewMachinePulse
 
Building an AI Startup: Realities & Tactics
Building an AI Startup: Realities & TacticsBuilding an AI Startup: Realities & Tactics
Building an AI Startup: Realities & TacticsMatt Turck
 

En vedette (18)

What is Analytics?
What is Analytics?What is Analytics?
What is Analytics?
 
Cognitive banking with expert insights
Cognitive banking with expert insightsCognitive banking with expert insights
Cognitive banking with expert insights
 
Training in Analytics and Data Science
Training in Analytics and Data ScienceTraining in Analytics and Data Science
Training in Analytics and Data Science
 
Expert opinion on managing data breaches
Expert opinion on managing data breachesExpert opinion on managing data breaches
Expert opinion on managing data breaches
 
Big Data in Education
Big Data in EducationBig Data in Education
Big Data in Education
 
Sales performance management and C-level goals
Sales performance management and C-level goalsSales performance management and C-level goals
Sales performance management and C-level goals
 
Business analytics presentation
Business analytics presentationBusiness analytics presentation
Business analytics presentation
 
The science of client insight: Increase revenue through improved engagement
The science of client insight: Increase revenue through improved engagementThe science of client insight: Increase revenue through improved engagement
The science of client insight: Increase revenue through improved engagement
 
Business Analytics Overview
Business Analytics OverviewBusiness Analytics Overview
Business Analytics Overview
 
Graph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXGraph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkX
 
Data Lake: A simple introduction
Data Lake: A simple introductionData Lake: A simple introduction
Data Lake: A simple introduction
 
Analytics Education in the era of Big Data
Analytics Education in the era of Big DataAnalytics Education in the era of Big Data
Analytics Education in the era of Big Data
 
Business analytics
Business analyticsBusiness analytics
Business analytics
 
Big Data Startups - Top Visualization and Data Analytics Startups
Big Data Startups - Top Visualization and Data Analytics StartupsBig Data Startups - Top Visualization and Data Analytics Startups
Big Data Startups - Top Visualization and Data Analytics Startups
 
Predictive Analytics - An Overview
Predictive Analytics - An OverviewPredictive Analytics - An Overview
Predictive Analytics - An Overview
 
Analytics and Data Mining Industry Overview
Analytics and Data Mining Industry OverviewAnalytics and Data Mining Industry Overview
Analytics and Data Mining Industry Overview
 
Building an AI Startup: Realities & Tactics
Building an AI Startup: Realities & TacticsBuilding an AI Startup: Realities & Tactics
Building an AI Startup: Realities & Tactics
 
Big Data Analytics
Big Data AnalyticsBig Data Analytics
Big Data Analytics
 

Similaire à Big data analytics johan quist

Oscar Wijsman @ Tech Update Big Data Visualisatie
Oscar Wijsman @ Tech Update Big Data VisualisatieOscar Wijsman @ Tech Update Big Data Visualisatie
Oscar Wijsman @ Tech Update Big Data VisualisatieMedia Perspectives
 
Presentatie big data (Dag van de verkoper, Cevora)
Presentatie big data (Dag van de verkoper, Cevora) Presentatie big data (Dag van de verkoper, Cevora)
Presentatie big data (Dag van de verkoper, Cevora) IntoTheMinds
 
Whitepaper-Refining-the-new-oil-turning-data-into-value
Whitepaper-Refining-the-new-oil-turning-data-into-valueWhitepaper-Refining-the-new-oil-turning-data-into-value
Whitepaper-Refining-the-new-oil-turning-data-into-valueAnderson MacGyver
 
Presentatie big data in verkoop (cevora) gent 16 Mei 2017
Presentatie big data in verkoop (cevora) gent 16 Mei 2017Presentatie big data in verkoop (cevora) gent 16 Mei 2017
Presentatie big data in verkoop (cevora) gent 16 Mei 2017IntoTheMinds
 
promotie big data in urban technology
promotie big data in urban technologypromotie big data in urban technology
promotie big data in urban technologyJurjen Helmus
 
Big Data - een kijk in jouw toekomst
Big Data - een kijk in jouw toekomstBig Data - een kijk in jouw toekomst
Big Data - een kijk in jouw toekomstOscar Wijsman
 
20130618 presentatie big data in financiële sector v1.0 Dutch
20130618 presentatie big data in financiële sector v1.0 Dutch20130618 presentatie big data in financiële sector v1.0 Dutch
20130618 presentatie big data in financiële sector v1.0 DutchPascal Spelier
 
Seminar Big data en inkoop
Seminar Big data en inkoopSeminar Big data en inkoop
Seminar Big data en inkoopSignificant
 
Eduvision - Webinar Hoe Word Ik Big Data Professional?
Eduvision - Webinar Hoe Word Ik Big Data Professional?Eduvision - Webinar Hoe Word Ik Big Data Professional?
Eduvision - Webinar Hoe Word Ik Big Data Professional?Eduvision Opleidingen
 
Ordina - VisionWorks Seminar: Bi Innovation Radar Part1
Ordina - VisionWorks Seminar: Bi Innovation Radar Part1Ordina - VisionWorks Seminar: Bi Innovation Radar Part1
Ordina - VisionWorks Seminar: Bi Innovation Radar Part1Ordina
 
Mark Vermeer - Congres 'Data gedreven Beleidsontwikkeling'
Mark Vermeer - Congres 'Data gedreven Beleidsontwikkeling'Mark Vermeer - Congres 'Data gedreven Beleidsontwikkeling'
Mark Vermeer - Congres 'Data gedreven Beleidsontwikkeling'ScienceWorks
 
Big Data Big, Decisions: Part II
Big Data Big, Decisions: Part IIBig Data Big, Decisions: Part II
Big Data Big, Decisions: Part IIMarcel Warmerdam
 
Marketing Intelligence voor Managers – Big Data voor MKB (2)
Marketing Intelligence voor Managers – Big Data voor MKB (2)Marketing Intelligence voor Managers – Big Data voor MKB (2)
Marketing Intelligence voor Managers – Big Data voor MKB (2)FourPoints Business Intelligence
 
NL - Module 6 - The Future of Smart Data
NL - Module 6 - The Future of Smart DataNL - Module 6 - The Future of Smart Data
NL - Module 6 - The Future of Smart Datacaniceconsulting
 
MWG Big Data & Media - Stef van Grieken (Het Nieuwe Stemmen)
MWG Big Data & Media - Stef van Grieken (Het Nieuwe Stemmen)MWG Big Data & Media - Stef van Grieken (Het Nieuwe Stemmen)
MWG Big Data & Media - Stef van Grieken (Het Nieuwe Stemmen)MWG verbindt media
 

Similaire à Big data analytics johan quist (20)

Oscar Wijsman @ Tech Update Big Data Visualisatie
Oscar Wijsman @ Tech Update Big Data VisualisatieOscar Wijsman @ Tech Update Big Data Visualisatie
Oscar Wijsman @ Tech Update Big Data Visualisatie
 
Presentatie big data (Dag van de verkoper, Cevora)
Presentatie big data (Dag van de verkoper, Cevora) Presentatie big data (Dag van de verkoper, Cevora)
Presentatie big data (Dag van de verkoper, Cevora)
 
Whitepaper-Refining-the-new-oil-turning-data-into-value
Whitepaper-Refining-the-new-oil-turning-data-into-valueWhitepaper-Refining-the-new-oil-turning-data-into-value
Whitepaper-Refining-the-new-oil-turning-data-into-value
 
Presentatie big data in verkoop (cevora) gent 16 Mei 2017
Presentatie big data in verkoop (cevora) gent 16 Mei 2017Presentatie big data in verkoop (cevora) gent 16 Mei 2017
Presentatie big data in verkoop (cevora) gent 16 Mei 2017
 
promotie big data in urban technology
promotie big data in urban technologypromotie big data in urban technology
promotie big data in urban technology
 
Big Data - een kijk in jouw toekomst
Big Data - een kijk in jouw toekomstBig Data - een kijk in jouw toekomst
Big Data - een kijk in jouw toekomst
 
11. Wat is Big Data? En moeten we er wat mee?
11. Wat is Big Data? En moeten we er wat mee?11. Wat is Big Data? En moeten we er wat mee?
11. Wat is Big Data? En moeten we er wat mee?
 
BDDD Tim Salimans
BDDD Tim SalimansBDDD Tim Salimans
BDDD Tim Salimans
 
20130618 presentatie big data in financiële sector v1.0 Dutch
20130618 presentatie big data in financiële sector v1.0 Dutch20130618 presentatie big data in financiële sector v1.0 Dutch
20130618 presentatie big data in financiële sector v1.0 Dutch
 
Bigdata
BigdataBigdata
Bigdata
 
Seminar Big data en inkoop
Seminar Big data en inkoopSeminar Big data en inkoop
Seminar Big data en inkoop
 
Big data en inkoop
Big data en inkoopBig data en inkoop
Big data en inkoop
 
Eduvision - Webinar Hoe Word Ik Big Data Professional?
Eduvision - Webinar Hoe Word Ik Big Data Professional?Eduvision - Webinar Hoe Word Ik Big Data Professional?
Eduvision - Webinar Hoe Word Ik Big Data Professional?
 
Ordina - VisionWorks Seminar: Bi Innovation Radar Part1
Ordina - VisionWorks Seminar: Bi Innovation Radar Part1Ordina - VisionWorks Seminar: Bi Innovation Radar Part1
Ordina - VisionWorks Seminar: Bi Innovation Radar Part1
 
Mark Vermeer - Congres 'Data gedreven Beleidsontwikkeling'
Mark Vermeer - Congres 'Data gedreven Beleidsontwikkeling'Mark Vermeer - Congres 'Data gedreven Beleidsontwikkeling'
Mark Vermeer - Congres 'Data gedreven Beleidsontwikkeling'
 
Big Data Big, Decisions: Part II
Big Data Big, Decisions: Part IIBig Data Big, Decisions: Part II
Big Data Big, Decisions: Part II
 
Marketing Intelligence voor Managers – Big Data voor MKB (2)
Marketing Intelligence voor Managers – Big Data voor MKB (2)Marketing Intelligence voor Managers – Big Data voor MKB (2)
Marketing Intelligence voor Managers – Big Data voor MKB (2)
 
Data trends
Data trendsData trends
Data trends
 
NL - Module 6 - The Future of Smart Data
NL - Module 6 - The Future of Smart DataNL - Module 6 - The Future of Smart Data
NL - Module 6 - The Future of Smart Data
 
MWG Big Data & Media - Stef van Grieken (Het Nieuwe Stemmen)
MWG Big Data & Media - Stef van Grieken (Het Nieuwe Stemmen)MWG Big Data & Media - Stef van Grieken (Het Nieuwe Stemmen)
MWG Big Data & Media - Stef van Grieken (Het Nieuwe Stemmen)
 

Big data analytics johan quist

  • 1. (Big) Data Analyse Johan Quist 23 maart 2015
  • 2. Inhoud 1 Big data en analytics; waarom big data de vraag naar analytics vergroot 2 Big data, BI en analytics; van datawarehouse naar datamining 3 Soorten Statistische analyse; – univariate analyse (samenvatting statistiek) – bivariate analyse (oa regressie) – multivariate analyse (supervised en unsupervised) Big Data sessie 23 maart 2015
  • 3. Deel 1 big data en analytics Definitie big data: "Er bestaat geen exacte definitie van big data (...) De term ‘big data’ verwijst naar dingen die je op een grote schaal kunt doen en op kleinere schaal niet mogelijk zijn, en waarmee je nieuwe inzichten verkrijgt of nieuwe vormen van economische waarde creëert op een manier die invloed heeft op (..) markten, organisaties en de relatie tussen burgers en overheden”. "data die niet meer in een normale database past" (door grootte, structuur en snelheid) Boek: Mayer/Cukier de big data revolutie Big Data sessie 23 maart 2015
  • 4. Definitie de 3Vs • Volume : veel, heel veel • Variety : gevarieeerd, lees ongestructureerd • Velocity : hoge omloopsnelheid (denk aan tweets en facebookgegevens) Big Data sessie 23 maart 2015
  • 5. Big data en analytics • Hardware • Softwarecapaciteiten(statistiek/analytics) -> twee nieuwe uitdagingen Big Data sessie 23 maart 2015 Twee componenten
  • 6. Analytics • Analyses op data om tot inzicht te komen Andere namen • Data analytics, Datamining, Statistical learning, Machine learning, Data Science Big Data sessie 23 maart 2015
  • 7. Big data en Analytics om hier grip op te krijgen -> analytics Big Data sessie 23 maart 2015 Door Big data krijgen organisaties beschikking over zeer veel data
  • 8. Analytics en big data/dwh ook op data in datawarehouses Big Data sessie 23 maart 2015 Analytics mogelijk op alle data
  • 9. Business cases big data Typische branchespecifieke doelstellingen Banken: lening acceptatie identificeren verdachte transacties beurskoersvoorspelling Verzekeraars: polisacceptatie detectie valse claims risicoanalyse premiebepaling Retail: basket analyse optimaliseren winkelindeling Big Data sessie 23 maart 2015
  • 10. Business cases big data (vervolg) Telecom: churn analyse op basis v. belgedrag identificeren fraudeurs Uitgevers, reclamebureau’s: modelleren Web surfgedrag media strategie bepaling oplage voorspelling publishing on demand Overheid: daderprofilering (politie), detectie belastingfraude Big Data sessie 23 maart 2015
  • 11. Big data en traditionele data • Big data kan in combinatie met traditionele data een completer beeld geven • Vervangen of aanvulling van relationele databases? Aanvulling! salarisadministratie doe je niet met Hadoop • de puur praktische zaken waar mensen relationele databases voor gebruiken. Dat is niet waar de kracht ligt van Hadoop. • Big data biedt kansen voor BI-ers Big Data sessie 23 maart 2015
  • 12. 2.0 ‘term’ ook bij big data • Internet 1.0 (bedrijven gaan op internet) • -> 2.0 (gaan internet gebruiken in strategie) • Big Data 1.0 (bedrijven leren omgaan met BD) • -> 2.0 (bedrijven gaan Big Data gebruiken om dingen beter te gaan den of nieuwe dingen te gaan doen. Data Science for business Provost/Fawcett Big Data sessie 23 maart 2015
  • 13. Deel 2 Big data, BI en analytics Gewenst is dat de twee werelden bijeen worden gebracht. ‘best of both worlds’ De plek van Big Data in de BI architectuur is eigenlijk niet anders dan die van gestructureerde data. Het enige verschil is dat je niet de luxe hebt om de traditionele implementatie te volgen. BI-ers zullen aan de big data moeten. “ Klanten zullen dashboards bv willen verrijken met bv het aantal tweets, facebookvermeldingen. Het meten van allerlei bedrijfs- processen zal steeds meer gepaard gaan met big data. BI-ers moeten hier op in springen.” Big Data sessie 23 maart 2015
  • 14. DB Datawarehouse Data marts Data Informatie kennis Werkgebied BIDB (Huidig) Werkgebied BI = data enginering = omzetten van data in informatie, zodat anderen er informatie uit kunnen halen Data enginering en data analyse Big Data sessie 23 maart 2015
  • 15. Opkomst Big Data Werkgebied BI Data Informatie kennis ‘Big Data’ Uitdaging 1: Big Data verwerkingstechnieken Grip op big data Uitdaging 2: Data analyse DB Datawarehouse Data marts DB Big Data sessie 23 maart 2015
  • 16. Kennis-Pyramide Big Data sessie 23 maart 2015 Data Enginering: data omzetten om informatie te verkrijgen (‘klassieke’ BI) Data Analytics: statistische analyse gebruiken om kennis te verkrijgen
  • 17. Data driven decision making Big Data sessie 23 maart 2015 Data Science for business Provost/Fawcett
  • 18. Grip op (big) data Verschillende namen voor ongeveer het zelfde: • Data analytics • Datamining • KDD knowlegde discovery from data • Analytical learning • Machine Learning • Data science Van informatie naar kennis What’s in a name: Big data is nu sexy, datamining niet, over 2 jaar …. Big Data sessie 23 maart 2015
  • 19. Grip op (big) data Uitdaging 1 Bigdata verwerkingstechnieken: • Hadoop • Map Reduce • NoSQL • Inmemory • Virtualisatie etc -> Andere cursus Big Data sessie 23 maart 2015
  • 20. Opkomst Big Data Werkgebied BI Data Informatie kennis ‘Big Data’ Uitdaging 2: Data analyse DB Data warehouse datama rts DB Datamining engineData marts Knowlegde base Big Data sessie 23 maart 2015
  • 21. DWH en analytics Big Data sessie 23 maart 2015
  • 22. Ingredienten statistical learning Machine Learning/ Pattern Recognition Statistics/ AI Statistical Learning Database systems Big Data sessie 23 maart 2015
  • 23. De driehoek van de BI-er DS Domein kennis Science Statistics, Analytics Big Data sessie 23 maart 2015 Engineering DWH, Hadoop Java
  • 24. Grip op alle data • Grip op data; niet alleen big data • Om big data betekenisvol te krijgen is analyse nodig. Technieken werken ook bij ‘gewone data’ Big Data sessie 23 maart 2015
  • 25. Van datawarehouse naar datamining Werk vooraf aan analyse • Omgaan met missende waarden • Omgaan met duplicaten • Data voorbehandelen • Aggregatie/integratie Big Data sessie 23 maart 2015
  • 26. Vb. Omgaan met missende waarden Strategiën: 1. Negeren 2. Handmatig invullen 3. Vervangen door constante (bv ‘Onbekend’) 4. Vervangen door gemiddelde 5. Vervangen door gemiddelde van zelfde klasse 6. Vervangen door meest waarschijnlijke waarde Datamining concepts and techniques Big Data sessie 23 maart 2015
  • 27. Data preprocessing Werk dat wij (BI-ers) doen! Zijn wij goed in!! Data op orde krijgen is vaak 50% van het werk bij data analyse Big Data sessie 23 maart 2015
  • 28. CRISP-DM Breekt het proces van datamining in zes fases. Big Data sessie 23 maart 2015 CRoss Industry Standard Process for Data Mining
  • 29. Fases in datamining-project • Business understanding • Data understanding • Data preparation • Modeling • Evaluation • Deployment Big Data sessie 23 maart 2015
  • 30. studiebronnen cursus • Erasmus academie: masterclass grip op big data • Coursera: introduction to data science (gratis) Boeken o.a. • Intro. to statistical learning with applications in R by James e.a. • Data science for Business by Provost/Fawcett • Datamining, concepts and techniques by Han/Kamber • Vele, vele anderen (gratis op het internet) Big Data sessie 23 maart 2015
  • 31. Mijn achtergrond • Ik vind statistiek leuk en interessant • Lange tijd niets mee gedaan (veel vergeten) • Half jaar geleden weer begonnen • Ik houd van puzzelen Big Data sessie 23 maart 2015
  • 32. Deel 3 Overzicht statistische analyse • Overzicht van verschillende methodes • No free lunch! ->Afwegen welke methode het meest geschikt is Big Data sessie 23 maart 2015
  • 33. METHODEN • Er bestaan heel veel methoden voor analyse van data • Sommige heel eenvoudig • Sommige heel ingewikkeld • Het is niet zo dat er voor ieder probleem slechts 1 juiste methode bestaat. • Er bestaat geen methode die voor alle problemen de oplossing is. Bovendien, voordat er gedacht kan worden over “de juiste methode”: Zonder goede vraag is het geven van een goed antwoord onmogelijk. • Maar kennis van analytische methoden kan helpen de juiste vraag te stellen Big Data sessie 23 maart 2015
  • 34. Door meer te weten over analytische methoden, zul je beter in staat zijn “goede” vragen te formuleren. Het is leuk! Big Data sessie 23 maart 2015
  • 35. Doel: weg vinden in het woud Kunnen plaatsen van o.a. volgende termen Univariaat bivariaat multivariaat supervised unsupervised trainingset testset statistiek gemiddelde standaardeviatie boxplot regressie classificatie desision trees neurale netwerken ensembles overfitting pruning Support Vector Machines clusteranalyse dimension reduction SPSS R accuracy precision recall nearest neightbor Bayes Discriminant Analyse etc. Big Data sessie 23 maart 2015
  • 36. Historie statistische analyse Big Data sessie 23 maart 2015 jaar persoon ontwikkeling Begin 19e eeuw Gauss Legendre Kleinste kwadraat Lineaire regressie 1936 Fischer Lineaire discriminant analyse +- 1940 diversen Logistieke regressie 1980 Opkomst niet lineaire methoden (dankzij computercapaciteit) Machine learning 1980 Opkomst DWH’s; 2010 Verdere toename hoeveelheid data Big data Verdere opkomst freeware R (democratisering van de data-analyse)
  • 37. R Programmeertaal voor statistische analyse Gratis :http:/www.r-project.org/ Veel tutorials Gebruikers delen hun code Big Data sessie 23 maart 2015
  • 38. Werken met R R in combinatie met R studio Integraties R en andere tools (bv Tableau) Taal/syntax redelijk ingewikkeld, zal wel makkelijker worden (democratiseren analytics) Kennis van de algoritmes zal noodzakelijk blijven! Big Data sessie 23 maart 2015
  • 39. Werken met R • Packages beschikbaar • Data eenvoudig te laden • Printmogelijkheden (plotten) Big Data sessie 23 maart 2015
  • 40. R en big data Hadoop; packages RHadoop, Rhipe, SparkR In-memory; package h2o MongoDB; packages rmongodb, Rmongo http://www.rdatamining.com/big-data/r-hadoop-setup-guide Big Data sessie 23 maart 2015
  • 41. Big Data sessie 23 maart 2015
  • 42. Soorten analyse • Univariaat een enkele kansvariabele beschrijvende statistiek • Bivariaat twee kansvariabele verbanden tussen twee • Multivariaat meerdere kansvariabele verbanden tussen meerdere variabelen Big Data sessie 23 maart 2015
  • 43. Univariaat (Samenvatting statistiek) • Gemiddelde (meest gebruikte) • Mediaan • Standaarddeviatie • Normaalverdeling • Variantie • Boxplot Big Data sessie 23 maart 2015
  • 44. Gemiddelde, Mediaan, Modus • Gemiddelde de meest gebruikte meetwaarde is erg gevoelig voor uitschieters. • Mediaan waarde van middelste, centrummaat • Modus waarde die meest voorkomt Big Data sessie 23 maart 2015
  • 45. Range, Variantie • Range is het verschil tussen de max. en de min. • De variantie / standaardeviatie; meetwaarde om spreiding weer te geven. Big Data sessie 23 maart 2015
  • 46. Normaalverdeling meest voorkomende continue verdeling Big Data sessie 23 maart 2015 Of Gauss-verdeling door Carl Friedrich Gauss (+- 1920)
  • 47. Visualisatie; box plot • Box Plots – Uitgevonden door J. Tukey – Manier om verdeling in data weer te geven – Following figure shows the basic part of a box plot outlier 10th percentile 25th percentile 75th percentile 50th percentile 10th percentile Big Data sessie 23 maart 2015
  • 48. R studio Schermen opbouw R studio • Source en save • Console • Environment/History • Files/Plots/Package/Help/viewer Big Data sessie 23 maart 2015
  • 49. R Voorbeeld Big Data sessie 23 maart 2015 Voorbeeld 1
  • 50. Bivariate analyse • Twee dimensionale data • Univariaat: beschrijvend Bivariaat: verklarend • Visualisatie: scatterplot Big Data sessie 23 maart 2015
  • 51. Regressie Statistische techniek om samenhang tussen gegevens weer te geven. Big Data sessie 23 maart 2015 Voor het eerst gebruikt door Francis Galton in +- 1870
  • 52. Regressie en correlatie Bij correlatie vergelijkt men de variaties van twee variabelen gemeten op interval- of ratio-niveau. De correlatiecoëfficiënt (R) is een maat voor het gezamenlijk variëren van twee variabelen Bij enkelvoudige regressieanalyse stelt de onderzoeker eerst vast welke variabele afhankelijk is en welke onafhankelijk. Regressieanalyse veronderstelt dus causaliteit tussen de variabelen. Big Data sessie 23 maart 2015
  • 53. Regressie Samenhang wordt weergegeven in een functie. Enkelvoudig: Y = ax + b Meervoudig: Y = a1 x1 + a2 x2 + an xn + b Het gaat om correlaties/verbanden weergegeven van 0 (geen verband tussen X en Y) tot 1 (volledig verband) Big Data sessie 23 maart 2015
  • 54. Berekeningswijze Regressie Gauss berekende er de baan van de pas ontdekte planetoïde Ceres mee Big Data sessie 23 maart 2015 Kleinste kwadraatmethode Ontdekt door Gauss en Legendre (tegelijkertijd)
  • 55. R Voorbeeld: regressie Big Data sessie 23 maart 2015
  • 56. Verschillende types attributen • Nominaal Voorbeelden: ID nummers, oogkleur, codes • Ordinaal Voorbeelden: rankings (b.v. smaak van chips op schaal van 1-10), graden, hoogte in {groot, medium, kort} • Interval Voorbeelden: kalender data, temperatuur in Celsius of Fahrenheit. • Ratio Voorbeelden: temperatuur in Kelvin, lengte, tijd, aantallen Big Data sessie 23 maart 2015
  • 57. Regressie bij dichotome variabelen Big Data sessie 23 maart 2015 Wat als de verklarende variabelen dichotoom is? Bijvoorbeeld: hangt bloeddruk af van het geslacht? Geen probleem. Eventueel dummy-waardes nodig Kleur: rood-geel-blauw (dummy-waardes per kleur) Nr Kleur Rood Geel blauw 1 Blauw 0 0 1 2 Rood 1 0 0 3 geel 0 1 0
  • 58. Regressie bij dichotome variabelen Big Data sessie 23 maart 2015 Continu: ok Dichotoom: ok Nominaal met meer dan twee categorieën: maak dummy’s (hulpvariabelen) Ordinaal: als er sprake lijkt van een lineaire trend: ok, anders dummy’s Wat als verklaarde variabele dichotoom is: Dan lineaire regressie niet mogelijk, wel logistieke regressie (komt verderop)
  • 59. Multivariate analyse Relaties tussen meerdere variabelen opsporen. Big Data sessie 23 maart 2015 Twee groepen • Supervised learning • Unsupervised learning
  • 60. Wat is Supervised learning? Er is sprake van een afhankelijke, te voorspellen variabele Aan de hand van gegevens zoeken we een functie/algoritme die de gegevens (onafhankelijke variabelen) omzet naar een uitkomst “klasse” Bv. welke klanten zullen niet in staat zijn hun lening af te lossen. (kijken naar bv leeftijd, geslacht, afkomst) Y zo goed mogelijk schatten aan de hand van X Big Data sessie 23 maart 2015
  • 61. Test en training Data wordt gesplitst in een • Training set • Test set • Trainingset wordt gebruikt om functie te vinden • Testset wordt gebruikt om vast te stellen hoe goed de functie het doet. Big Data sessie 23 maart 2015
  • 62. Test en training Apply Model Induction Deduction Learn Model Model Tid Attrib1 Attrib2 Attrib3 Class 1 Yes Large 125K No 2 No Medium 100K No 3 No Small 70K No 4 Yes Medium 120K No 5 No Large 95K Yes 6 No Medium 60K No 7 Yes Large 220K No 8 No Small 85K Yes 9 No Medium 75K No 10 No Small 90K Yes 10 Tid Attrib1 Attrib2 Attrib3 Class 11 No Small 55K ? 12 Yes Medium 80K ? 13 Yes Large 110K ? 14 No Small 95K ? 15 No Large 67K ? 10 Test Set Learning algorithm Training Set Big Data sessie 23 maart 2015
  • 63. Wat is Unsupervised Learning? • Geen sprake van afhankelijke, te voorspellen waarde • We zoeken naar structuren/verbanden • Bv. hoe (in welke groepen) kunnen we onze klanten onderverdelen Big Data sessie 23 maart 2015
  • 64. Wat is Unsupervised learning? 2 • Proberen structuur te brengen in ogenschijnlijk ongestructureerde gegevens • Kan als aanzet dienen bij opstellen van verdere onderzoeksvragen. • Maar dat hoeft niet (voorbeelden later) Big Data sessie 23 maart 2015
  • 65. Supervised Learning Regressie voor meer variabelen Multiple regressie Y = a1 x1 + a2 x2 + an xn + b Confounder: wat is de (echt) bepalende factor? Big Data sessie 23 maart 2015
  • 66. relatie studieuren en cijfer Big Data sessie 23 maart 2015 Linear Regression 2,50 5,00 7,50 10,00 12,50 studieuren 5,00 6,00 7,00 8,00 9,00cijfer           cijfer = 7,76 + -0,09 * studieuren R-Square = 0,09 Hoe langer je studeert hoe lager je cijfer ??
  • 67. Vooropleiding meegenomen Big Data sessie 23 maart 2015  hoog  laag vooropleiding 2,50 5,00 7,50 10,00 12,50 studieuren 0,00 4,00 8,00 12,00 cijfer          
  • 68. Confounder Big Data sessie 23 maart 2015 • In beide groepen, gevormd op grond van de vooropleiding, is een positief effect van studie-uren op het cijfer • Dit effect is in beide groepen ongeveer gelijk • Als we geen rekening houden met de vooropleiding, schatten we het effect van studie-uren op het cijfer totaal verkeerd • Vooropleiding wordt een confounder genoemd
  • 69. Lineaire Regressie mogelijk? Regressie gaat uit van interval of ratio-nivo De afhankelijke variabelen zijn continue van aard. Ook wel kwantitatieve analyse genoemd Wat als afhankelijke variabelen nominaal of ordinaal zijn? Lineaire Regressie is dan niet mogelijk. Wel mogelijk zijn kwalitatieve analysemethodes Big Data sessie 23 maart 2015
  • 70. Logistieke regressie Alternatief: Logistieke regressie Regressie geschikt voor variabelen die dichotoom van aard zijn niet de dichotome uitkomst zelf wordt gemodelleerd, maar de kans op die uitkomst. http://www.ru.nl/socialewetenschappen/rtog/tips/onderdelen/logistische/ Big Data sessie 23 maart 2015
  • 71. R Voorbeeld logistieke regressie Big Data sessie 23 maart 2015
  • 72. Classificatie indelen of het van objecten, verschijnselen of processen in groepen op grond van overeenkomsten of verwandschap in eigenschappen of kenmerken Waarden zijn niet kwantitatief, zoals bij regressie Big Data sessie 23 maart 2015
  • 73. Voorbeelden bij classificatie • Zegt een klant zijn abonnement op? • Wordt er gefraudeerd? • Krijgt een schip een ongeluk? Hoe classificeren we de opzeggers, fraudeurs, zinkende schepen? Big Data sessie 23 maart 2015
  • 74. Classificatie technieken • Decision Tree methoden • Ensembles • Nearest neigthbors • Rule-based methoden • Discriminant analyse • Neurale netwerken • Naïve Bayes and Bayesian Belief Networks • Support Vector Machines Big Data sessie 23 maart 2015
  • 75. Vergelijken methodes Regressie is bv sterk vereenvoudigd, eenvoudig te schatten, eenvoudig te interpreteren, maar tamelijk beperkt. Andere methodes zijn soms moeilijker te interpreteren maar voorspellen weer beter Keuze bij methode: Trade-off tussen simplicity en accuracy Interpreteerbaarheid - Voorspelbaarheid Big Data sessie 23 maart 2015
  • 76. Interpreteerbaar - Flexibel flexibiliteit laag hoog interpretrrbaar hooglaag Trees Regressieanalyse Bagging/ boosting Support vector machines Big Data sessie 23 maart 2015
  • 77. Model evaluatie Big Data sessie 23 maart 2015 PREDICTED CLASS ACTUAL CLASS C(i|j) Class=Yes Class=No Class=Yes C(Yes|Yes) C(No|Yes) Class=No C(Yes|No) C(No|No) FNFPTNTP TNTP dcba da      Accuracy
  • 78. Beperkingen accuracy Er zijn bijvoorbeeld 2-klassen • aantal van klasse A = 9990 • Aantal van klasse B = 10 Als een model altijd klasse A voorspelt, is de accuracy 9990/10000 = 99.9 % -> Accuracy is misleidend omdat het model geen klasse B voorspelt (vb. Alle schepen zullen blijven drijven) Big Data sessie 23 maart 2015
  • 79. Andere maten Big Data sessie 23 maart 2015 ba a ca a     (r)Recall (p)Precision Precision: (aantal werkelijke positieven) /(totaal aantal voorspelde positieve) Recall: (aantal werkelijke positieven) /(aantal werkelijke positieven + foute negatieven)
  • 80. Decision trees • Intuïtief • Qua rekenwerk eenvoudig • Eenvoudig interpreteerbaar • Voorbeeld: spelletje • Ik heb een beroemd persoon in mijn hoofd • Jullie mogen vragen stellen ik antwoord alleen met ja of nee • Wat zijn goede vragen Big Data sessie 23 maart 2015
  • 81. Voorbeeld decision tree Refund MarSt TaxInc YESNO NO NO Yes No MarriedSingle, Divorced < 80K > 80K Splitting Attributes Training Data Model: Decision Tree Tid Refund Marital Status Taxable Income Cheat 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes 10 Big Data sessie 23 maart 2015
  • 82. Decision trees Essensiële vragen • Hoe bepalen welke variabelen we gebruiken om te splitsen • Wanneer stoppen we met splitsen Big Data sessie 23 maart 2015
  • 83. Decision Trees: puurheid • Impurity • Maximale impurity: van iedere klasse evenveel waarnemingen in een knoop • Minimale impurity: blad komt precies overeen met een klasse • We willen van impure naar pure • Maten voor impurity : bv. Gini, Entropy Big Data sessie 23 maart 2015
  • 84. Wanneer stoppen met opsplitsen • Teveel splitsen : overfitting • werkt dan wel goed voor de trainingsdata • Maar niet meer voor de testdata • stopcriteria Big Data sessie 23 maart 2015
  • 85. R voorbeeld Decision trees Big Data sessie 23 maart 2015
  • 86. Ensembles van Decision Trees • Overfitting voorkomen -> snoeien • Gaat ook voorspelkracht achteruit • Methode die goede voorspelkracht heeft en niet zo variabel • -> essembles • Idee “wisdom of the crowds Big Data sessie 23 maart 2015
  • 87. Bootstrap • In plaats van 1 voorspeller , meerdere • Bootstrap: meerdere steekproeven • Steekproeven gebruiken om tot betere voorspeller te komen. • Essemble van voorspellers Big Data sessie 23 maart 2015
  • 88. Bagging • Trek B bootstrap samples (bv 500) • Maak voor iedere sample een boom • Combineer de resultaten • Dit heet Bagging (bootstrap aggragating) • Andere methode: Random Forest Big Data sessie 23 maart 2015
  • 89. R voorbeeld random forest Big Data sessie 23 maart 2015
  • 90. Nearest neightbors • Basis idee Als het er uit ziet als een eend en kwaakt als een eend dan is het waarschijnlijk een eend Unknown record Big Data sessie 23 maart 2015
  • 91. Werkwijze – Bereken afstand tot andere training records Euclidean distance – Identiceer k nearest neighbors – Label ze Big Data sessie 23 maart 2015
  • 92. Vgl lineair model en nearest neightbors • k-NN classifiers zijn langszame leerders • NN- Modellen worden niet expliciet opgebouwd • Het linear model maakt veel assumpties over de structuur van het probleem, maar is vrij stabiel • Nearest neighbors is vrijwel assumptie-vrij,maar resultaten kunnen vrij instabiel zijn • Beide methoden kunnen krachtiger zijn in verschillende settings door verschillende redenen Big Data sessie 23 maart 2015
  • 93. R voorbeeld nearest neightbors Big Data sessie 23 maart 2015
  • 94. Ruled based classificatie R1: (Give Birth = no)  (Can Fly = yes)  Birds R2: (Give Birth = no)  (Live in Water = yes)  Fishes R3: (Give Birth = yes)  (Blood Type = warm)  Mammals R4: (Give Birth = no)  (Can Fly = no)  Reptiles R5: (Live in Water = sometimes)  Amphibians Name Blood Type Give Birth Can Fly Live in Water Class human warm yes no no mammals python cold no no no reptiles salmon cold no no yes fishes whale warm yes no yes mammals frog cold no no sometimes amphibians komodo cold no no no reptiles bat warm yes yes no mammals pigeon warm no yes no birds cat warm yes no no mammals leopard shark cold yes no yes fishes turtle cold no no sometimes reptiles penguin warm no no sometimes birds porcupine warm yes no no mammals eel cold no no yes fishes salamander cold no no sometimes amphibians gila monster cold no no no reptiles platypus warm no no no mammals owl warm no yes no birds dolphin warm yes no yes mammals eagle warm no yes no birds Big Data sessie 23 maart 2015
  • 95. Discriminant analyse Uit 1936 ! Door R.A. Fischer Een beslissingsprocedure om van een nieuwe waarneming uit te maken bij welk van een aantal gegeven sets waarnemingen deze het beste past. In een eenvoudig geval is van elk van twee populaties een steekproef bekend. Van een nieuwe waarneming is weliswaar bekend dat deze uit een van de beide populaties afkomstig is, maar niet uit welke. Big Data sessie 23 maart 2015
  • 96. Neurale netwerken -het knooppunt: Te vergelijken met het neuron in een menselijk brein. -de koppeling: Te vergelijken met de verbindingen tussen deze neuronen http://gekkoquant.com/2012/05/26/neural-networks-with-r-simple-example/ Big Data sessie 23 maart 2015 Een neuraal netwerk is in enige mate gebaseerd op de organisatie van het menselijke brein en de manier waarop de hersenen leren. Er zijn twee belangrijke structuurelementen in het neurale netwerk:
  • 97. Neurale netwerken Qua prestaties blijkt uit de literatuur dat neurale netwerken een grotere voorspelkracht hebben dan de klassieke statistische methoden als regressie- en discriminantanalyse, vooral indien de onderliggende relaties niet-lineair zijn. De prestaties van meer- geavanceerde statistische methoden zijn echter vergelijkbaar met die van neurale netwerken. Big Data sessie 23 maart 2015
  • 98. R voorbeeld neuraal netwerk Big Data sessie 23 maart 2015
  • 99. Naïve Bayes Gebaseerd op theorema van Bayes: kans op gebeurtenis uitgedrukt in voorwaardelijke kansen bij elk van de mogelijkheden Big Data sessie 23 maart 2015
  • 100. Idee Bayes Bayesiaanse statistiek <-> Frequentische statistiek Bayes gedachte: kennis uit het verleden toe passen om statistische voorspellingen te maken. Krijg je eerlijkere voorspellingen, die niet blind zijn voor de wereld naast de statistiek, zoals dat bij de gewone (frequentistische) statistiek wel is. Big Data sessie 23 maart 2015
  • 101. Bayes theorema : een voorbeeld Big Data sessie 23 maart 2015 Gegeven: – Een dokter weet dat meningitis in 50% van de gevallen nekpijn veroorzaakt – De kans dat een patient meningitis heeft is 1/50,000 – De kans dat een patient nekpijn heeft is 1/20 • Als een patient nekkramp heeft, wat is dan de kans dat hij meningitis heeft? 0002.0 20/1 50000/15.0 )( )()|( )|(    SP MPMSP SMP
  • 102. Voorbeeld Naïve Bayes: reumatest P(Z)=0,01 (kans dat iemand de ziekte heeft) P(+|Z)= 0,70 (de kans op een positieve uitslag als de ziekte aanwezig is) P(-|niet Z)=0,80 (de kans op een negatieve uitslag als de ziekte afwezig is) P(Z|+) = P(+|Z)P(Z) . = 0,70x0,01 . P(+|Z)P(Z)+P(+|niet Z)P(niet Z) 0,70x0,01+0,20x0,99 = 0,034 Dus zelfs bij een positieve uitslag van de test is de kans dat de onderzochte persoon de ziekte heeft maar iets meer dan drie procent. Conclusie: De "reumatest" is in deze situatie nagenoeg onbruikbaar. Big Data sessie 23 maart 2015
  • 103. Naïve Bayes - samenvatting • Robuust mbt afwijkende punten • Ontbrekende waarden zijn eenvoudig op te vangen • Maakt sterke veronderstellingen: Onafhankelijkheid, Continue data met normale distributie (preprocessing vaak noodzakelijk) Big Data sessie 23 maart 2015
  • 104. Voorbeeld Bayes Big Data sessie 23 maart 2015
  • 105. Support Vector Machines • Bedacht in jaren 60 (Vapnik) • Methode van data classificeren • Binair classificeren in een vectorruimte Big Data sessie 23 maart 2015
  • 106. Support Vector Machines Big Data sessie 23 maart 2015 Doel : scheidslijn vinden om data te scheiden
  • 107. Support Vector Machines Een mogelijkheid Big Data sessie 23 maart 2015 B1
  • 108. Support Vector Machines Big Data sessie 23 maart 2015 B2 Een andere mogelijkheid
  • 109. Support Vector Machines Welke is beter? B1 or B2? Hoe definieer je wat beter is? Big Data sessie 23 maart 2015 B1 B2
  • 110. Support Vector Machines Support Vectors: Punten die door de ‘dikke lijn’geraakt worden Big Data sessie 23 maart 2015
  • 111. Unsupervised Learning Geen sprake van afhankelijke, te voorspellen waarde. We zoeken naar structuren/verbanden. Geen voorspellingen. We zoeken bijvoorbeeld naar gelijksoortige groepen. Voorbeelden: • Clusteranalyse • Dimensie reductie Big Data sessie 23 maart 2015
  • 112. Clusteranalyse Observaties in “homogene” groepen indelen Zoek naar clusters van waarnemingen die gelijksoortig zijn en interpreteer de clusters door te kijken naar de verschillen/overeenkomsten m.b.t. geobserveerde variabele waarden in de verschillende clusters. Big Data sessie 23 maart 2015
  • 113. Clusteranalyse Big Data sessie 23 maart 2015 Soorten: • Hierarchisch • K-means
  • 114. Hierarchische Cluster Analyse • Beschouw iedere waarneming als een cluster • Bereken de afstanden tussen alle clusters • Voeg clusters die het dichts bij elkaar liggen samen • Ga door tot er één cluster over is (of een van te voren bepaald aantal) Er zijn verschillende maten om de afstanden te bepalen - Euclidisch, Minkowski, Manhattan, Cosine en vele andere Big Data sessie 23 maart 2015
  • 115. Hierarchische clusering Big Data sessie 23 maart 2015 p4 p1 p3 p2 p4p1 p2 p3 Traditional Hierarchical Clustering Traditional Dendrogram
  • 116. K-means • Bij hierarchische clustering moeten de afstanden tussen alle punten berekend worden • Kan snel een probleem worden • Partieel clusteren is hiervoor een oplossing: K- means Big Data sessie 23 maart 2015
  • 117. K-means • Ieder cluster heeft een centroide (gemiddeld punt in een cluster • Idee: voeg waarnemingen toe aan het cluster wiens centroide het dichtst bij zit • Maar centroide hangt af van de punten in het cluster Big Data sessie 23 maart 2015
  • 118. Clustering: K-means Algoritme 1. Maak k clusters (wijs punten bijvoorbeeld willekeurig toe aan 1 van de k clusters 2. Bereken voor ieder punt de afstanden tot de k cluster centroides. Wijs punten toe aan dichtstbijzijnde cluster 3. Je hebt nu nieuwe clusters. Bereken daar weer de centroides bij en ga terug naar stap 2. Herhaal tot er niets meer veranderd. Big Data sessie 23 maart 2015
  • 119. Cluster analyse: aantal clusters • Hoe bepalen we hoeveel clusters we zoeken? • Bij hierarchische clustering kun je het hele dendogram bekijken en daarop je keue baseren • Bij K-means moet je aangeven hoeveel clusters • Kies de maat van de ‘cluster kwaliteit’ . Bereken die maat voor verschillende K en kijk welke K optimaal is • Cluster kwaliteit: bv variantie binnen clusters moet klein zijn. Variantie tussen de clusters moet groot zijn. Big Data sessie 23 maart 2015
  • 120. Clusteranalyse SSE-methode Voor verschillende waarde van K berekenen we de som van de gekwadrateerde afstanden (SSE) Andere methode : Calinski-Harabasz (kijkt naar de variantie tussen de clusters) Big Data sessie 23 maart 2015
  • 121. R Voorbeeld Cluster analyse Big Data sessie 23 maart 2015
  • 122. Dimensie reductie • Als er heel veel variabelen zijn dan is het lastig om middels eenvoudige statistiek het overzicht te behouden • Kleinere set van variabelen wenselijk • Dimensie reductie methoden zoeken naar zo’n kleinere set Big Data sessie 23 maart 2015
  • 123. Dimensie reductie • Methode om een (liefs klein) aantal samengestelde variabelen te vinden die de data goed beschrijven • Voorbeeld methode: Principale component analyse (PCA) PCA = zoeken naar laag-dimensionele presentatie van de observaties Clustering = zoeken naar homogene subgroepen Big Data sessie 23 maart 2015
  • 124. Voorbeeld inleiding R n<-15 #waarde wordt toegekend aan variabele n n # laat n zien, [1] betekent: het eerste element 5->n # anderso kan ook n n<-2+10 #optellen n<-rnorm(1) # random variabele met gem. 0 n #komt (random) dus steeds andere waarde uit ?rnorm # hulp over rnorm x <- c(3, 7, 10, 20) # definieren van een vector x mean(x) # gemiddelde median(x) # mediaan sqrt(x) # wortel y <- x^2 # we definieren een vector y x # laat x zien y # laat y zien cor(x,y) # correlatie tussen x en y boxplot(x) # mediaan, 1e en 3e kwartiel (mediaan van 1e en 2e helft) # kleinste en grootste waarneming plot(x, y, main="Scatterplot Example", xlab="x as", ylab="y as", pch=19) summary(x) # allerlei statistische gegevens over x Big Data sessie 23 maart 2015 #dubbelen verwijderen x2 <- c (1 , 1, 1, 2, 2, 2, 3, 3, 3, 3) duplicated (x ) x2 <- x[! duplicated (x )] x2 #normaalverdeling x <- rnorm(50); y <- rnorm(50) #random norm hist(x, main="histogram") boxplot(x, main="boxplot") text(0,5,"histogram") # print "histogram" in het punt (0,5) plot(x,y,main="figuur 1") qqnorm(x, main="qq-plot") # qq-plot y <- 0:30 plot(y, dbinom(y, 30, 0.25), type = "h")
  • 125. Voorbeeld packages # voorbeeld laden packages install.packages('party') # package installeren library(party) # party laden # irisdataset, bevat 150 irissen die behoren tot drie soorten # Setosa, Versicolor en Viginica # Irissen zijn beschreven adhv vier eigenschappen # lengte en breedte van bloemblaadjes(petal) en kelkblaadjes (sepal) str(iris) # iris laten zien, structuur summary(iris) # belangrijke gegevens table(iris$Species) pie(table(iris$Species)) var(iris$Sepal.Length) # variatie in lengte hist(iris$Sepal.Length) # normaalverdeling lengte Big Data sessie 23 maart 2015
  • 126. Voorbeeld regressie year <- rep(2008:2010, each = 4) quarter <- rep(1:4, 3) cpi <- c(162.2, 164.6, 166.5, 166, 166.2, 167, 168.6, 169.5, 171, 172.1, 173.3, 174) plot(cpi, xaxt = "n", ylab = "CPI", xlab = "") axis(1,labels=paste(year,quarter,sep="Q"), at =1:12, las =3) cor(year,cpi) ##serke correlatie jaar en cpi cor(quarter,cpi) ##minder sterke corr. quarter en cpi fit <- lm(cpi ~ year + quarter) # lineair model fit cpi2011 <- fit$coefficients[[1]] + fit$coefficients[[2]] * 2011 + fit$coefficients[[3]] * (1:4) cpi2011 ##voorspellen 2011 ##3d plot library(scatterplot3d) s3d <- scatterplot3d(year, quarter, cpi, highlight.3d = T, type = "h", lab = c(2, 3)) # lab: number of tickmarks on x-/y-axes s3d$plane3d(fit) # draws the fitted plane Big Data sessie 23 maart 2015
  • 127. Voorbeeld logistieke regressie # voorbeeld logistieke regressie library("MASS") data(menarche) str(menarche) # str geft structuur van de data menarche # leeftijd, totaal aantal meisjes, leeftijd eerste mens. summary(menarche) plot(Menarche/Total ~ Age, data=menarche) # plot %dat menache heeft gehad , 1 = 100% # voorbeeld log. regressie # lineair verband tussen leeftjd en menstruatieleeftijd # uitkomst is dichotoom per indivdu (wel/niet), vandaar geen lin.regressie mogelijk glm.out = glm(cbind(Menarche, Total-Menarche) ~ Age, family=binomial(logit), data=menarche) #logit -> logistieke regressie lines(menarche$Age, glm.out$fitted, type="l", col="red") title(main="Menarche Data with Fitted Logistic Regression Line") # lijn volgt heel goed de punten summary(glm.out) Big Data sessie 23 maart 2015
  • 128. Voorbeeld Decision Tree tree.model my.prediction <- predict(tree.model, test.set) my.prediction install.packages('tree') library(tree) plot(tree.model) text(tree.model rpart.tree <- rpart(Species ~ ., data=train.set) plot(rpart.tree, uniform=TRUE, branch=0.6, margin=0.05) text(rpart.tree, all=TRUE, use.n=TRUE) title("Training Set's Classification Tree") predictions <- predict(rpart.tree, test.set, type="class") table(test.set$Species, predictions) confusion<-table(predictions,irisdata) y prediction plot(iris$Petal.Length, iris$Petal.Width, main="Edgar Anderson's Iris Data")) test_sample = sample(1:150, 50) test_data = iris[test_sample, ] training_data = iris[-test_sample, ] fit_tree = tree(iris.type ~ ., data = training_data) test_predictions = predict(fit_tree, test_data, type = "class") test_error = sum(test_predictions != test_data$iris.type)/nrow(test_data) test_error Big Data sessie 23 maart 2015 str(iris) iris library("party") iris_ctree <- ctree(Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width, data=iris) print(iris_ctree) plot(iris_ctree) fancyRpartPlot(iris_ctree, cex=.7) predict<-predict(iris_ctree,type="prob") irisdata<-iris y<-irisdata$type confusion<-table(predict,y) confusion irisdata predict table(predict()) set.seed(101) alpha <- 0.7 # percentage of training set inTrain <- sample(1:nrow(iris), alpha * nrow(iris)) train.set <- iris[inTrain,] test.set <- iris[-inTrain,] train.set test.set tree.model <- tree(Species ~ Sepal.Width + Petal.Width, data=train.set) )
  • 129. Voorbeeld random forest # split into two subsets: training (70%) and test (30%) ind <- sample(2, nrow(iris), replace=TRUE, prob=c(0.7, 0.3)) train.data <- iris[ind==1,] test.data <- iris[ind==2,] # use all other variables to predict Species library(randomForest) rf <- randomForest(Species ~ ., data=train.data, ntree=100, proximity=T) table(predict(rf), train.data$Species) print(rf) plot(rf, main = "") importance(rf) varImpPlot(rf) irisPred <- predict(rf, newdata = test.data) table(irisPred, test.data$Species) plot(margin(rf, test.data$Species)) Big Data sessie 23 maart 2015
  • 130. Voorbeeld Nearest Neightbors ## voorbeeld nearest neightbors # 3 punten in klasse A A1=c(0,0) A2=c(1,1) A3=c(2,2) # 3 punten in Klasse B B1=c(6,6) B2=c(5.5,7) B3=c(6.5,5) # bouwt de classificatie train=rbind(A1,A2,A3, B1,B2,B3) plot(train) # laat de punten zien in een plot cl=factor(c(rep("A",3),rep("B",3))) #kijken bij welke klasse een punt valt test=c(4,4) library(class) # call knn() and get its summary summary(knn(train, test, cl, k = 1)) # valt dus in klasse b, (daar staat 1) # ander punt testen, dat in a blijkt te vallen test=c(3.5, 3.5) summary(knn(train, test, cl, k = 1)) Big Data sessie 23 maart 2015
  • 131. Voorbeeld Neural Networks install.packages('neuralnet') library("neuralnet") #Maken van een neural network dat vierkantswortel berekend #Type ?neuralnet voor meer info #Genereer 50 random nummers uniform gedistr. tussen 0 and 100 #en bewaar het als een dataframe traininginput <- as.data.frame(runif(50, min=0, max=100)) trainingoutput <- sqrt(traininginput) #Column bind the data in een variabele trainingdata <- cbind(traininginput,trainingoutput) colnames(trainingdata) <- c("Input","Output") #Train het neurale network #10 hidden layers #Threshold is a numeric value specifying the threshold for the partial #derivatives of the error function as stopping criteria. net.sqrt <- neuralnet(Output~Input,trainingdata, hidden=10, threshold=0.01) print(net.sqrt) #Plot het neurale network plot(net.sqrt) #Test neural network met trainingsdata testdata <- as.data.frame((1:10)^2) #Generate some squared numbers net.results <- compute(net.sqrt, testdata) #Run them through the neural network #Lets see what properties net.sqrt has ls(net.results) #zie resultaten print(net.results$net.result) #Lets display a better version of the results cleanoutput <- cbind(testdata,sqrt(testdata), as.data.frame(net.results$net.result)) colnames(cleanoutput) <- c("Input","Expected Output","Neural Net Output") print(cleanoutput) / Big Data sessie 23 maart 2015
  • 132. Voorbeeld Bayes install.packages("e1071") library(e1071) # bouwen van naiveBayes data(iris) # m <- naiveBayes(Species ~ ., data = iris) m <- naiveBayes(iris[,-5], iris[,5]) m table(predict(m, iris), iris[,5]) Big Data sessie 23 maart 2015
  • 133. Voorbeeld Clusteranalyse # voorbeeld clustering set.seed(8953) # random nummer generator iris2 <- iris # remove class IDs iris2$Species <- NULL # k-means clustering met 3 clusters iris.kmeans <- kmeans(iris2, 3) # check resultaat iris.kmeans # 3 clusters met grootte 38,50 en 62 table(iris$Species, iris.kmeans$cluster) # plot clusters and their centers # resultaat laat zien dat cluster “setosa” eenvoudig te scheiden is van andere clusters, # en dat clusters “versicolor” en “virginica” licht over overlappen plot(iris2[c("Sepal.Length", "Sepal.Width")], col=iris.kmeans$cluster) points(iris.kmeans$centers[, c("Sepal.Length", "Sepal.Width")], col=1:3, pch="*", cex=5) #hierarchische clustering idx <- sample(1:dim(iris)[1], 40) irisSample <- iris[idx,] irisSample$Species <- NULL hc <- hclust(dist(irisSample), method="ave") plot(hc, hang = -1, labels=iris$Species[idx]) irisSample Big Data sessie 23 maart 2015
  • 134. Boeken Aanraders Technisch • An introduction to statistical learning with R / James e.a. Voor managers • Data science for business / Provost e.a. Over relatie met DWH • Datamining concepts and techniques / Han e.a. • Introduction to data sience / Coursera university • Bayesiaanse statistiek in de rechtspraak / Jenneke IJzerman • Neurale netwerken versus statistische methoden: een vergelijking / Huizingh e.a. Alles gratis op het internet!! Big Data sessie 23 maart 2015

Notes de l'éditeur

  1. Big data opkomst, toepassingen, kenmerken etc Big data en BI Grip op (big) data Van datawarehouse naar datamining Soorten Statistische analyses -univariate analye (hier een samenvatting statistiek) -bivariate analyse (oa regressie) -multivariate analyse (supervised:classificatie, c. Beslisbomen, essembles, SVM; unsupervised: cluster en PCA)
  2. Leuk dat er zoveel interesse is. Doel van de sessie zal zijn een introductie te geven in de wereld van analytics. Ik wil een overzicht geven van de verschillende statistische analyses. Als basis wil ik datgene gebruiken wat in mijn presentatie van januari in hoofdstuk 3 staat. Deze ben ik aan het aanpassen en uitbreiden. deel 1 over big data, zal ik net behandelen.hooguit een korte opmerking. Is in januari ook goed naar voren gekomen. Deel 2 Het lijkt me leuk als ik steeds kort een korte demonstratie in R van het behandelde geef. Hiervoor heb ik al een aantal script gemaakt. Ik wil het publiek van 3 dingen overtuigen Analytics is heel leuk De vraag naar kennis zal stijgen BI-ers kunnen hier een toegevoegde waarde hebben Van de deelnemers zal waarschijnlijk een deel uit interesse komen, maar niet verder willen met analytics en zal (hopelijk) een deel zich er verder in willen verdiepen. Komende weken ga ik verder met voorbereiden van de presentatie en de R-scriptjes. Discussie…interessant mogelijk…
  3. Big Data apelleert aan het gevoel in een nieuwe wereld te zijn beland vol mogelijkheden. Een nieuwe wereld vol economische kansen. We laten zoveel datasporen achter, dat die marketingjongens kunnen zien wanneer ze ons het beste kunnen verleiden. Is Big Data een hype? Ja. Maar geen inhoudsloze.  De twee componenten van Big Data (hard en softwarecapaciteiten en statistiek)  leiden tot een explosie van nieuwe toepassingen op het gebied van zogenoemde predictive analysis - dus: toekomstvoorspellingen. 
  4. Big Data apelleert aan het gevoel in een nieuwe wereld te zijn beland vol mogelijkheden. Een nieuwe wereld vol economische kansen. We laten zoveel datasporen achter, dat die marketingjongens kunnen zien wanneer ze ons het beste kunnen verleiden. Is Big Data een hype? Ja. Maar geen inhoudsloze.  De twee componenten van Big Data (hard en softwarecapaciteiten en statistiek)  leiden tot een explosie van nieuwe toepassingen op het gebied van zogenoemde predictive analysis - dus: toekomstvoorspellingen. 
  5. Big Data apelleert aan het gevoel in een nieuwe wereld te zijn beland vol mogelijkheden. Een nieuwe wereld vol economische kansen. We laten zoveel datasporen achter, dat die marketingjongens kunnen zien wanneer ze ons het beste kunnen verleiden. Is Big Data een hype? Ja. Maar geen inhoudsloze.  De twee componenten van Big Data (hard en softwarecapaciteiten en statistiek)  leiden tot een explosie van nieuwe toepassingen op het gebied van zogenoemde predictive analysis - dus: toekomstvoorspellingen. 
  6. Introduction to datascience https://class.coursera.org/datasci-001/lecture/preview Gratis boeken op internet Data Science for Business – Provost/Fawcett - zeer leesbaar, niet al te technisch http://statweb.stanford.edu/~tibs/ElemStatLearn/ - elements of statistical learning http://www-bcf.usc.edu/~gareth/ISL/ISLR%20First%20Printing.pdf – toepassing met R
  7. De stabiele en bewezen kracht van een traditionele BI omgeving, aangevuld en verrijkt met gegevens die niet in gestructureerde databases worden opgeslagen:  ‘best of both worlds’ 
  8. Wat doet een BI-er: vooral data structureren/boetseren zodat er informatie uit gehaald kan worden ‘dataenginering’ Zorgen dat andere ogen de informatie kunnen gebruiken
  9. Om grip te krijgen op big data kom je uit bij data analytics/stat. Analyse Uitbreiding ambitieniveau BI-er -> dataenginering -> data analyse
  10. Mode bepaald welke naam we gebruiken
  11. Mode bepaald welke naam we gebruiken
  12. Uitdaging: integratie ‘big data’ en klassieke BI-omgeving Eigenlijk een uitbreiding van onze BI-architectuur
  13. Plaatje wat j veel op internet vindt.
  14. Plaatje wat j veel op internet vindt.
  15. Statistical learning
  16. Datamining knowlegde mining from data Knowledge Discovery from Data KDD 1.Data cleaning -> deze stappen soms meeste werk 2.Data integratie 3.Data selectie 4.Data transformatie 5.Data mining 6.Patroon evaluatie 7.Kennis presentatie Knowlegde base
  17. Reasons for missing values Information is not collected (e.g., people decline to give their age and weight) Attributes may not be applicable to all cases (e.g., annual income is not applicable to children) Handling missing values Eliminate Data Objects Estimate Missing Values Ignore the Missing Value During Analysis Replace with all possible values (weighted by their probabilities)
  18. Aggregation Sampling Dimensionality Reduction Feature subset selection Feature creation Discretization and Binarization Attribute Transformation
  19. Overzicht creëren in verschillende manieren van statistical learning Topdown benadering (helicopterview)
  20. 2.1 Univariate data analyse Univariate data analyse is het analyseren van één dimensionale data. Het voornaamste doel van univariate data analyse is het beschrijven van de data. De meest gebruikte methodes zullen wij kort bespreken. Een histogram is een univariate techniek die grafisch de frequentieverdeling van gegroepeerde data weergeeft. Een histogram geeft een beeld van de kansdichtheid waaruit de data afkomstig zijn. Een stem-and-leaf plot is een zelfde soort methode als een histogram. Deze methode geeft de vorm van de verdeling van de data weer. De boxplot is wederom een grafische weergave van metingen. Deze techniek laat de verdeling van de data zien. De mediaan wordt omgeven door de „box‟ met de kwartielen (de 25e en de 75e percentielen) die met een lijn is verbonden met de uiterste waarden van de metingen. De „box‟ vertegenwoordigt 50% van de waarnemingen (Tukey, 1977). 2.2 Bivariate data analyse Bivariate data analyse is het analyseren van twee dimensionale data. Terwijl univariate data beschreven wordt, zal bivariate data meer verklaard worden. Een bivariate data analyse techniek is de scatterplot. Deze techniek wordt al sinds de achttiende eeuw gebruikt. Het is een grafische weergave van bivariate data (twee variabelen) die inzicht geeft in de eventuele lineaire of kwadratische relatie tussen de variabelen. Een scatterplot geeft tevens informatie over het gemiddelde, de vorm van de verdeling, de extreme waarden van de data (outliers) en eventuele clustervormingen. Scatterplots zijn ook te gebruiken voor het plotten van trivariate data, data met drie variabelen. Een andere techniek is om data samen te vatten is de kxr frequentie tabel. Deze techniek geeft voor beide variabelen alle mogelijke waarden van waarnemingen weer. Voor verdere uitleg van univariate of bivariate methodes wordt aangeraden Tukey (1977) te lezen. 2.3 Multivariate data analyse Univariate en bivariate data analyse technieken zijn makkelijk bruikbaar om de structuur en samenhang van de data te beschrijven. Van de besproken technieken zijn de meeste zeer nuttig voor de modellering stap binnen de data analyse, maar geven geen volledig beeld van de dataset. Een reden hiervoor is dat de besproken technieken zich niet focussen op hogere dimensies van de data, iets wat multivariate data analyse technieken wel doen (Hardle, 2007). Het voornaamste voordeel van multivariate data analyse is het vermogen om tussen meerdere variabelen tegelijk complexe relaties op te sporen.
  21. Univariate data analyse is het analyseren van één dimensionale data. Het voornaamste doel van univariate data analyse is het beschrijven van de data. De meest gebruikte methodes zullen wij kort bespreken. Een histogram is een univariate techniek die grafisch de frequentieverdeling van gegroepeerde data weergeeft. Een histogram geeft een beeld van de kansdichtheid waaruit de data afkomstig zijn. Een stem-and-leaf plot is een zelfde soort methode als een histogram. Deze methode geeft de vorm van de verdeling van de data weer. De boxplot is wederom een grafische weergave van metingen. Deze techniek laat de verdeling van de data zien. De mediaan wordt omgeven door de „box‟ met de kwartielen (de 25e en de 75e percentielen) die met een lijn is verbonden met de uiterste waarden van de metingen. De „box‟ vertegenwoordigt 50% van de waarnemingen (Tukey, 1977).
  22. Modus = waarde die het meest voorkomt. Bruikbaar bij alle schaalsoorten. Veel toegepast bij nominale schaal (bv. diersoorten). NB: is als centrummaat alleen geschikt als het om zeer grote hoeveelheden waarnemingen gaat.   Mediaan = middelste waarneming. Bruikbaar bij ordinale schaal (bv. leeftijd), intervalschaal en ratioschaal. NB: bij een even aantal waarnemingen wordt het gemiddelde van de middelste 2 genomen.   Gemiddelde -> zie § 3.3 Bruikbaar bij intervalschaal en ratioschaal.   Type variabele Centrummaat Nominaalschaal Modus Ordinaalschaal Modus, mediaan Intervalschaal en Ratioschaal Modus, mediaan, gemiddelde, spreidingsmidden  
  23. Range verschil tussen min en max Variantie (spreiding)   Gemiddelde -> zie § 3.3 Bruikbaar bij intervalschaal en ratioschaal.   Type variabele Centrummaat Nominaalschaal Modus Ordinaalschaal Modus, mediaan Intervalschaal en Ratioschaal Modus, mediaan, gemiddelde, spreidingsmidden  
  24. Range verschil tussen min en max Variantie (spreiding)   Gemiddelde -> zie § 3.3 Bruikbaar bij intervalschaal en ratioschaal.   Type variabele Centrummaat Nominaalschaal Modus Ordinaalschaal Modus, mediaan Intervalschaal en Ratioschaal Modus, mediaan, gemiddelde, spreidingsmidden  
  25. Box-plot = lijn waarin de volgende 5 kengetallen worden aangegeven: kleinste middelste van de kleinste helft middelste middelste van de grootste helft grootste. Modus = waarde die het meest voorkomt. Bruikbaar bij alle schaalsoorten. Veel toegepast bij nominale schaal (bv. diersoorten). NB: is als centrummaat alleen geschikt als het om zeer grote hoeveelheden waarnemingen gaat.   Mediaan = middelste waarneming. Bruikbaar bij ordinale schaal (bv. leeftijd), intervalschaal en ratioschaal. NB: bij een even aantal waarnemingen wordt het gemiddelde van de middelste 2 genomen.   Gemiddelde -> zie § 3.3 Bruikbaar bij intervalschaal en ratioschaal.   Type variabele Centrummaat Nominaalschaal Modus Ordinaalschaal Modus, mediaan Intervalschaal en Ratioschaal Modus, mediaan, gemiddelde, spreidingsmidden  
  26. Te verwijderen
  27. Bivariate data analyse is het analyseren van twee dimensionale data. Terwijl univariate data beschreven wordt, zal bivariate data meer verklaard worden. Een bivariate data analyse techniek is de scatterplot. Deze techniek wordt al sinds de achttiende eeuw gebruikt. Het is een grafische weergave van bivariate data (twee variabelen) die inzicht geeft in de eventuele lineaire of kwadratische relatie tussen de variabelen. Een scatterplot geeft tevens informatie over het gemiddelde, de vorm van de verdeling, de extreme waarden van de data (outliers) en eventuele clustervormingen. Scatterplots zijn ook te gebruiken voor het plotten van trivariate data, data met drie variabelen. Een andere techniek is om data samen te vatten is de kxr frequentie tabel. Deze techniek geeft voor beide variabelen alle mogelijke waarden van waarnemingen weer. Voor verdere uitleg van univariate of bivariate methodes wordt aangeraden Tukey (1977) te lezen.
  28. Galton deed onderzoek naar lengte van ouders en kinderen Lineair verband = de ene variabele is middels een lineaire functie af te leiden uit de andere. De puntenwolk ligt op 1 rechte lijn.  Positief verband = hogere waarden van de ene variabele corresponderen met hogere waarden van de andere waarden  Negatief verband = hogere waarden van de ene variabele corresponderen met lagere waarden van de andere waarden  Correlatiecoëffiënt = getal (tussen -1 en +1) dat de strerkte van het verband tussen twee variabelen aangeeft. NB. heeft alleen betekenis bij rechtlijnige verbanden.  4.6 blz. 128] (1.22 blz. 16) Kleinste-kwadraten-methode = methode voor het berekenen van de regressievergelijking. Uitgangspunt is dat de som van de kwadratische afstanden van de punten tot deze lijn zo klein mogelijk moet zijn.
  29. Nominaal: geen orde (bv man-vrouw) Ordinaal: ordening bv 5 punts-schaal Interval : graden, nulpunt geen betekenis Ratio: ook verhoudingen: bv lengte But in general, we do not really care how well the method works training on the training data. Rather, we are interested in the accuracy of the pre- MSE dictions that we obtain when we apply our method to previously unseen test data. Lineair verband = de ene variabele is middels een lineaire functie af te leiden uit de andere. De puntenwolk ligt op 1 rechte lijn.   Positief verband = hogere waarden van de ene variabele corresponderen met hogere waarden van de andere waarden   Negatief verband = hogere waarden van de ene variabele corresponderen met lagere waarden van de andere waarden   Correlatiecoëffiënt = getal (tussen -1 en +1) dat de strerkte van het verband tussen twee variabelen aangeeft. NB. heeft alleen betekenis bij rechtlijnige verbanden.   [4.6 blz. 128] (1.22 blz. 16) Kleinste-kwadraten-methode = methode voor het berekenen van de regressievergelijking. Uitgangspunt is dat de som van de kwadratische afstanden van de punten tot deze lijn zo klein mogelijk moet zijn.
  30. But in general, we do not really care how well the method works training on the training data. Rather, we are interested in the accuracy of the pre- MSE dictions that we obtain when we apply our method to previously unseen test data. Lineair verband = de ene variabele is middels een lineaire functie af te leiden uit de andere. De puntenwolk ligt op 1 rechte lijn.   Positief verband = hogere waarden van de ene variabele corresponderen met hogere waarden van de andere waarden   Negatief verband = hogere waarden van de ene variabele corresponderen met lagere waarden van de andere waarden   Correlatiecoëffiënt = getal (tussen -1 en +1) dat de strerkte van het verband tussen twee variabelen aangeeft. NB. heeft alleen betekenis bij rechtlijnige verbanden.   [4.6 blz. 128] (1.22 blz. 16) Kleinste-kwadraten-methode = methode voor het berekenen van de regressievergelijking. Uitgangspunt is dat de som van de kwadratische afstanden van de punten tot deze lijn zo klein mogelijk moet zijn.
  31. But in general, we do not really care how well the method works training on the training data. Rather, we are interested in the accuracy of the pre- MSE dictions that we obtain when we apply our method to previously unseen test data. Lineair verband = de ene variabele is middels een lineaire functie af te leiden uit de andere. De puntenwolk ligt op 1 rechte lijn.   Positief verband = hogere waarden van de ene variabele corresponderen met hogere waarden van de andere waarden   Negatief verband = hogere waarden van de ene variabele corresponderen met lagere waarden van de andere waarden   Correlatiecoëffiënt = getal (tussen -1 en +1) dat de strerkte van het verband tussen twee variabelen aangeeft. NB. heeft alleen betekenis bij rechtlijnige verbanden.   [4.6 blz. 128] (1.22 blz. 16) Kleinste-kwadraten-methode = methode voor het berekenen van de regressievergelijking. Uitgangspunt is dat de som van de kwadratische afstanden van de punten tot deze lijn zo klein mogelijk moet zijn.
  32. Univariate en bivariate data analyse technieken zijn makkelijk bruikbaar om de structuur en samenhang van de data te beschrijven. Van de besproken technieken zijn de meeste zeer nuttig voor de modellering stap binnen de data analyse, maar geven geen volledig beeld van de dataset. Een reden hiervoor is dat de besproken technieken zich niet focussen op hogere dimensies van de data, iets wat multivariate data analyse technieken wel doen (Hardle, 2007). Het voornaamste voordeel van multivariate data analyse is het vermogen om tussen meerdere variabelen tegelijk complexe relaties op te sporen. Multivariate data analyse is een zeer breed gebied met vele toepassingen. Dit gebied is op te spitsen in twee hoofdgroepen: afhankelijkheids (dependence)- technieken waar afhankelijke en onafhankelijke variabelen onderscheiden worden en onderlinge afhankelijksheids (interdependence)- technieken waarbij geen onderscheid tussen afhankelijke en onafhankelijke variabelen wordt gemaakt. Dit onderzoek zal zich richten op PCA en hiërarchische clusteranalyse, welke beide tot de laatste groep behoren. Het brede scala van multivariate technieken kent verschillende doeleinden van de data analyse zoals datareductie, groeperen van data, voorspelling, hypothese constructie/testen en onderzoek naar afhankelijkheid van variabelen (Johsson en Wichern, 2002).
  33. # 3.5 Comparison of Linear Regression with K-Nearest Neighbors # Parametric methods have several advantages. # They are often easy to fit, because one need estimate only a small number # of coefficients. In the case of linear regression, # the coefficients have simple interpretations, and tests of statistical # significance can be easily performed. But parametric methods do have a # disadvantage: by construction, they make strong assumptions about the # form of f(X). If the specified functional form is far from the truth, and # prediction accuracy is our goal, then the parametric method will perform # poorly.
  34. Bivariate data analyse is het analyseren van twee dimensionale data. Terwijl univariate data beschreven wordt, zal bivariate data meer verklaard worden. Een bivariate data analyse techniek is de scatterplot. Deze techniek wordt al sinds de achttiende eeuw gebruikt. Het is een grafische weergave van bivariate data (twee variabelen) die inzicht geeft in de eventuele lineaire of kwadratische relatie tussen de variabelen. Een scatterplot geeft tevens informatie over het gemiddelde, de vorm van de verdeling, de extreme waarden van de data (outliers) en eventuele clustervormingen. Scatterplots zijn ook te gebruiken voor het plotten van trivariate data, data met drie variabelen. Een andere techniek is om data samen te vatten is de kxr frequentie tabel. Deze techniek geeft voor beide variabelen alle mogelijke waarden van waarnemingen weer. Voor verdere uitleg van univariate of bivariate methodes wordt aangeraden Tukey (1977) te lezen.
  35. But in general, we do not really care how well the method works training on the training data. Rather, we are interested in the accuracy of the pre- MSE dictions that we obtain when we apply our method to previously unseen test data. Lineair verband = de ene variabele is middels een lineaire functie af te leiden uit de andere. De puntenwolk ligt op 1 rechte lijn.   Positief verband = hogere waarden van de ene variabele corresponderen met hogere waarden van de andere waarden   Negatief verband = hogere waarden van de ene variabele corresponderen met lagere waarden van de andere waarden   Correlatiecoëffiënt = getal (tussen -1 en +1) dat de strerkte van het verband tussen twee variabelen aangeeft. NB. heeft alleen betekenis bij rechtlijnige verbanden.   [4.6 blz. 128] (1.22 blz. 16) Kleinste-kwadraten-methode = methode voor het berekenen van de regressievergelijking. Uitgangspunt is dat de som van de kwadratische afstanden van de punten tot deze lijn zo klein mogelijk moet zijn.
  36. But in general, we do not really care how well the method works training on the training data. Rather, we are interested in the accuracy of the pre- MSE dictions that we obtain when we apply our method to previously unseen test data. Lineair verband = de ene variabele is middels een lineaire functie af te leiden uit de andere. De puntenwolk ligt op 1 rechte lijn.   Positief verband = hogere waarden van de ene variabele corresponderen met hogere waarden van de andere waarden   Negatief verband = hogere waarden van de ene variabele corresponderen met lagere waarden van de andere waarden   Correlatiecoëffiënt = getal (tussen -1 en +1) dat de strerkte van het verband tussen twee variabelen aangeeft. NB. heeft alleen betekenis bij rechtlijnige verbanden.   [4.6 blz. 128] (1.22 blz. 16) Kleinste-kwadraten-methode = methode voor het berekenen van de regressievergelijking. Uitgangspunt is dat de som van de kwadratische afstanden van de punten tot deze lijn zo klein mogelijk moet zijn.
  37. Discriminant analyse Neurale netwerken Logistieke regressie Naïve Bayes and Bayesian Belief Networks
  38. Meerdere variabelen: multiple regressie
  39. Te begrijpen - interpreteerbaar Flexibel – kan goed voorspellen, voor mens moeilijker te begrijpen
  40. Type 1 fout - onterecht ware hypothese verworpen onschuldig veroordelen Type 2 fout - onterecht onware aangenomen schuldig vrijlaten
  41. IF condition THEN conclusion
  42. Discriminant analyse Neurale netwerken Logistieke regressie Naïve Bayes and Bayesian Belief Networks
  43. In de bevolking lijdt 1 op de 100 mensen aan reumatoïde artritis. Er bestaat een test, de "reumatest", die bij reumapatiënten meestal positief is en bij niet-reumapatiënten meestal negatief. De test is echter niet 100% waterdicht en heeft een specificiteit (dat wil zeggen de kans op een negatieve test als de ziekte afwezig is) van 0,8 en een sensitiviteit (kans op een positieve test bij aanwezigheid van de ziekte) van 0,7. Vraag: Is het zinvol om de bevolking met deze test op het voorkomen van reuma te testen? Daartoe bepalen we wat de kans is op de ziekte als we een willekeurig iemand uit de bevolking testen en de uitslag positief is. Met Z geven we aan dat de testpersoon aan de ziekte lijdt en met + dat de uitslag van de test positief is. Uit de bovenstaande gegevens volgt:
  44. 3.3 Hiërarchische clusteranalyse Hiërarchische clusteranalyse is een verzameling van multivariate data analyse technieken die data groeperen en sorteren. Hierbij worden groepen/clusters van waarnemingen of variabelen met soortgelijke karakteristieken gevormd (Hair, 1998). Waar PCA zich richt op de variabelen, zal hiërarchische clusteranalyse zich richten op het groeperen van de waarnemingen. De data kan door hiërarchische clusteranalyse gesimplificeerd worden. Alle waarnemingen worden in een groep met gelijke kenmerken geplaatst, en worden zodoende als groep bekeken in plaats van als unieke observaties. De data is nu makkelijker bruikbaar voor vervolg analyses. Tevens kunnen onderliggende relaties onderscheiden worden dankzij hiërarchische clusteranalyse.
  45. Hoe bepaal je het aantal clusters Bij hierarchisch clusteren kun je hele dendogram bekijken en keuze bepalen