big data analytics johan quist
TRANSCRIPT
![Page 1: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/1.jpg)
(Big) Data Analyse
Johan Quist23 maart 2015
![Page 2: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/2.jpg)
Inhoud1 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
![Page 3: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/3.jpg)
Deel 1 big data en analyticsDefinitie 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
![Page 4: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/4.jpg)
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
![Page 5: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/5.jpg)
Big data en analytics
• Hardware • Softwarecapaciteiten(statistiek/analytics)
-> twee nieuwe uitdagingen
Big Data sessie 23 maart 2015
Twee componenten
![Page 6: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/6.jpg)
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
![Page 7: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/7.jpg)
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
![Page 8: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/8.jpg)
Analytics en big data/dwh
ook op data in datawarehouses
Big Data sessie 23 maart 2015
Analytics mogelijk op alle data
![Page 9: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/9.jpg)
Business cases big dataTypische branchespecifieke doelstellingen
Banken: lening acceptatie identificeren verdachte transacties beurskoersvoorspellingVerzekeraars: polisacceptatie detectie valse claims risicoanalyse premiebepaling Retail: basket analyse
optimaliseren winkelindeling
Big Data sessie 23 maart 2015
![Page 10: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/10.jpg)
Business cases big data (vervolg)
Telecom: churn analyse op basis v. belgedrag
identificeren fraudeursUitgevers, reclamebureau’s: modelleren Web surfgedrag media strategie bepaling oplage voorspelling publishing on demandOverheid: daderprofilering (politie), detectie belastingfraudeBig Data sessie 23 maart 2015
![Page 11: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/11.jpg)
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
![Page 12: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/12.jpg)
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/FawcettBig Data sessie 23 maart 2015
![Page 13: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/13.jpg)
Deel 2 Big data, BI en analyticsGewenst 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 dandie 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
![Page 14: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/14.jpg)
DBDatawarehouse
Datamarts
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
![Page 15: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/15.jpg)
Opkomst Big Data
Werkgebied BI
Data Informatie kennis
‘Big Data’
Uitdaging 1: Big Data verwerkingstechnieken
Grip op big data
Uitdaging 2:Data analyse
DBDatawarehouse
Datamarts
DB
Big Data sessie 23 maart 2015
![Page 16: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/16.jpg)
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
![Page 17: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/17.jpg)
Data driven decision making
Big Data sessie 23 maart 2015
Data Science for business Provost/Fawcett
![Page 18: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/18.jpg)
Grip op (big) dataVerschillende namen voor ongeveer het zelfde:• Data analytics• Datamining• KDD knowlegde discovery from data• Analytical learning• Machine Learning• Data scienceVan informatie naar kennis
What’s in a name: Big data is nu sexy, datamining niet, over 2 jaar ….
Big Data sessie 23 maart 2015
![Page 19: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/19.jpg)
Grip op (big) data
Uitdaging 1 Bigdata verwerkingstechnieken:• Hadoop• Map Reduce• NoSQL • Inmemory• Virtualisatie etc-> Andere cursus
Big Data sessie 23 maart 2015
![Page 20: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/20.jpg)
Opkomst Big Data
Werkgebied BI
Data Informatie kennis
‘Big Data’
Uitdaging 2:Data analyse
DBData
warehousedatamarts
DB
Datamining engineData
marts
Knowlegde base
Big Data sessie 23 maart 2015
![Page 21: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/21.jpg)
DWH en analytics
Big Data sessie 23 maart 2015
![Page 22: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/22.jpg)
Ingredienten statistical learning
Machine Learning/Pattern
Recognition
Statistics/AI
Statistical Learning
Database systems
Big Data sessie 23 maart 2015
![Page 23: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/23.jpg)
De driehoek van de BI-er
DS
Domein kennis
ScienceStatistics, Analytics
Big Data sessie 23 maart 2015
EngineeringDWH, Hadoop Java
![Page 24: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/24.jpg)
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
![Page 25: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/25.jpg)
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
![Page 26: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/26.jpg)
Vb. Omgaan met missende waarden
Strategiën:1. Negeren2. Handmatig invullen3. Vervangen door constante (bv
‘Onbekend’)4. Vervangen door gemiddelde5. Vervangen door gemiddelde van zelfde
klasse6. Vervangen door meest waarschijnlijke
waardeDatamining concepts and techniquesBig Data sessie 23 maart 2015
![Page 27: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/27.jpg)
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
![Page 28: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/28.jpg)
CRISP-DM
Breekt het proces van datamining in zes fases.
Big Data sessie 23 maart 2015
CRoss Industry Standard Process for Data Mining
![Page 29: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/29.jpg)
Fases in datamining-project
• Business understanding• Data understanding• Data preparation• Modeling• Evaluation• Deployment
Big Data sessie 23 maart 2015
![Page 30: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/30.jpg)
studiebronnencursus• 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
![Page 31: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/31.jpg)
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
![Page 32: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/32.jpg)
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
![Page 33: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/33.jpg)
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
![Page 34: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/34.jpg)
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
![Page 35: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/35.jpg)
Doel: weg vinden in het woudKunnen 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
![Page 36: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/36.jpg)
Historie statistische analyse
Big Data sessie 23 maart 2015
jaar persoon ontwikkelingBegin 19e eeuw
GaussLegendre
Kleinste kwadraatLineaire 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 dataBig dataVerdere opkomst freeware R(democratisering van de data-analyse)
![Page 37: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/37.jpg)
RProgrammeertaal voor statistische analyseGratis :http:/www.r-project.org/Veel tutorialsGebruikers delen hun code
Big Data sessie 23 maart 2015
![Page 38: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/38.jpg)
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
![Page 39: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/39.jpg)
Big Data sessie 23 maart 2015
Werken met R• Packages beschikbaar• Data eenvoudig te laden• Printmogelijkheden (plotten)
![Page 40: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/40.jpg)
R en big dataHadoop; 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
![Page 41: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/41.jpg)
Big Data sessie 23 maart 2015
![Page 42: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/42.jpg)
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
![Page 43: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/43.jpg)
Univariaat(Samenvatting statistiek)• Gemiddelde (meest gebruikte)• Mediaan• Standaarddeviatie• Normaalverdeling• Variantie• Boxplot
Big Data sessie 23 maart 2015
![Page 44: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/44.jpg)
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
![Page 45: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/45.jpg)
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
![Page 46: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/46.jpg)
Normaalverdeling
meest voorkomende continue verdeling
Big Data sessie 23 maart 2015
Of Gauss-verdeling door Carl Friedrich Gauss (+- 1920)
![Page 47: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/47.jpg)
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
![Page 48: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/48.jpg)
R studio
Schermen opbouw R studio• Source en save• Console• Environment/History• Files/Plots/Package/Help/viewer
Big Data sessie 23 maart 2015
![Page 49: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/49.jpg)
R Voorbeeld
Big Data sessie 23 maart 2015
Voorbeeld 1
![Page 50: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/50.jpg)
Bivariate analyse• Twee dimensionale data• Univariaat: beschrijvend Bivariaat:
verklarend
• Visualisatie: scatterplot
Big Data sessie 23 maart 2015
![Page 51: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/51.jpg)
RegressieStatistische techniek om samenhang tussen gegevens weer te geven.
Big Data sessie 23 maart 2015
Voor het eerst gebruikt door Francis Galton in +- 1870
![Page 52: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/52.jpg)
Regressie en correlatieBij 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
![Page 53: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/53.jpg)
RegressieSamenhang wordt weergegeven in een functie.Enkelvoudig: Y = ax + bMeervoudig: Y = a1 x1 + a2 x2 + an xn + b
Het gaat om correlaties/verbanden weergegeven van 0 (geen verband tussen X en Y) tot1 (volledig verband)
Big Data sessie 23 maart 2015
![Page 54: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/54.jpg)
Berekeningswijze Regressie
Gauss berekende er de baan van de pas ontdekte planetoïde Ceres mee
Big Data sessie 23 maart 2015
Kleinste kwadraatmethodeOntdekt door Gauss en Legendre (tegelijkertijd)
![Page 55: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/55.jpg)
R Voorbeeld: regressie
Big Data sessie 23 maart 2015
![Page 56: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/56.jpg)
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}
• IntervalVoorbeelden: kalender data, temperatuur in Celsius of Fahrenheit.
• RatioVoorbeelden: temperatuur in Kelvin, lengte, tijd, aantallen
Big Data sessie 23 maart 2015
![Page 57: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/57.jpg)
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
![Page 58: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/58.jpg)
Regressie bij dichotome variabelen
Big Data sessie 23 maart 2015
Continu: okDichotoom: okNominaal 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)
![Page 59: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/59.jpg)
Multivariate analyseRelaties tussen meerdere variabelen opsporen.
Big Data sessie 23 maart 2015
Twee groepen• Supervised learning • Unsupervised learning
![Page 60: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/60.jpg)
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
![Page 61: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/61.jpg)
Test en trainingData 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
![Page 62: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/62.jpg)
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
Learningalgorithm
Training Set
Big Data sessie 23 maart 2015
![Page 63: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/63.jpg)
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
![Page 64: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/64.jpg)
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
![Page 65: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/65.jpg)
Supervised LearningRegressie voor meer variabelenMultiple regressie Y = a1 x1 + a2 x2 + an xn + b
Confounder: wat is de (echt) bepalende factor?
Big Data sessie 23 maart 2015
![Page 66: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/66.jpg)
relatie studieuren en cijfer
Big Data sessie 23 maart 2015
Linear Regr ession
2, 50 5, 00 7, 50 10, 00 12, 50
s tu d ie u re n
5, 00
6, 00
7, 00
8, 00
9, 00c
ijfe
r
ci j f er = 7, 76 + - 0, 09 * st udi eurenR- Square = 0, 09
Hoe langer je studeert hoe lager je cijfer ??
![Page 67: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/67.jpg)
Vooropleiding meegenomen
Big Data sessie 23 maart 2015
hoog laag
v o o ro p le id in g
2, 50 5, 00 7, 50 10, 00 12, 50
s tu d ie u re n
0, 00
4, 00
8, 00
12, 00
cij
fer
![Page 68: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/68.jpg)
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
![Page 69: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/69.jpg)
Lineaire Regressie mogelijk?Regressie gaat uit van interval of ratio-nivoDe 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
![Page 70: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/70.jpg)
Logistieke regressieAlternatief: Logistieke regressieRegressie 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
![Page 71: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/71.jpg)
R Voorbeeld logistieke regressie
Big Data sessie 23 maart 2015
![Page 72: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/72.jpg)
Classificatieindelen 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
![Page 73: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/73.jpg)
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
![Page 74: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/74.jpg)
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
![Page 75: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/75.jpg)
Vergelijken methodesRegressie 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 accuracyInterpreteerbaarheid - Voorspelbaarheid
Big Data sessie 23 maart 2015
![Page 76: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/76.jpg)
Interpreteerbaar - Flexibel
flexibiliteitlaag hoog
inte
rpre
trrba
arho
ogla
ag
Trees
Regressieanalyse
Bagging/boosting
Support vector machines
Big Data sessie 23 maart 2015
![Page 77: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/77.jpg)
Model evaluatie
Big Data sessie 23 maart 2015
PREDICTED CLASS
ACTUALCLASS
C(i|j) Class=Yes Class=No
Class=Yes C(Yes|Yes) C(No|Yes)
Class=No C(Yes|No) C(No|No)
FNFPTNTPTNTP
dcbada
Accuracy
![Page 78: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/78.jpg)
Beperkingen accuracyEr 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
![Page 79: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/79.jpg)
Andere maten
Big Data sessie 23 maart 2015
baa
caa
(r) Recall
(p)Precision
Precision: (aantal werkelijke positieven) /(totaal aantal voorspelde positieve)
Recall: (aantal werkelijke positieven) /(aantal werkelijke positieven + foute negatieven)
![Page 80: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/80.jpg)
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
![Page 81: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/81.jpg)
Voorbeeld decision tree
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Splitting Attributes
Training Data Model: Decision Tree
Tid Refund MaritalStatus
TaxableIncome 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 Yes10
categoric
al
categoric
al
contin
uous
class
Big Data sessie 23 maart 2015
![Page 82: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/82.jpg)
Decision treesEssensiële vragen• Hoe bepalen welke variabelen we
gebruiken om te splitsen• Wanneer stoppen we met splitsen
Big Data sessie 23 maart 2015
![Page 83: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/83.jpg)
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,
EntropyBig Data sessie 23 maart 2015
![Page 84: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/84.jpg)
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
![Page 85: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/85.jpg)
R voorbeeld Decision trees
Big Data sessie 23 maart 2015
![Page 86: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/86.jpg)
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
![Page 87: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/87.jpg)
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
![Page 88: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/88.jpg)
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
![Page 89: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/89.jpg)
R voorbeeld random forest
Big Data sessie 23 maart 2015
![Page 90: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/90.jpg)
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
![Page 91: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/91.jpg)
Werkwijze– Bereken afstand tot andere training records
Euclidean distance – Identiceer k nearest neighbors – Label ze
Big Data sessie 23 maart 2015
![Page 92: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/92.jpg)
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
![Page 93: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/93.jpg)
R voorbeeld nearest neightbors
Big Data sessie 23 maart 2015
![Page 94: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/94.jpg)
Ruled based classificatie
R1: (Give Birth = no) (Can Fly = yes) BirdsR2: (Give Birth = no) (Live in Water = yes) FishesR3: (Give Birth = yes) (Blood Type = warm) MammalsR4: (Give Birth = no) (Can Fly = no) ReptilesR5: (Live in Water = sometimes) Amphibians
Name Blood Type Give Birth Can Fly Live in Water Classhuman warm yes no no mammalspython cold no no no reptilessalmon cold no no yes fisheswhale warm yes no yes mammalsfrog cold no no sometimes amphibianskomodo cold no no no reptilesbat warm yes yes no mammalspigeon warm no yes no birdscat warm yes no no mammalsleopard shark cold yes no yes fishesturtle cold no no sometimes reptilespenguin warm no no sometimes birdsporcupine warm yes no no mammalseel cold no no yes fishessalamander cold no no sometimes amphibiansgila monster cold no no no reptilesplatypus warm no no no mammalsowl warm no yes no birdsdolphin warm yes no yes mammalseagle warm no yes no birds
Big Data sessie 23 maart 2015
![Page 95: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/95.jpg)
Discriminant analyseUit 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
![Page 96: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/96.jpg)
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:
![Page 97: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/97.jpg)
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
![Page 98: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/98.jpg)
R voorbeeld neuraal netwerk
Big Data sessie 23 maart 2015
![Page 99: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/99.jpg)
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
![Page 100: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/100.jpg)
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
![Page 101: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/101.jpg)
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.020/150000/15.0
)()()|()|(
SPMPMSPSMP
![Page 102: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/102.jpg)
Voorbeeld Naïve Bayes: reumatestP(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
![Page 103: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/103.jpg)
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
![Page 104: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/104.jpg)
Voorbeeld Bayes
Big Data sessie 23 maart 2015
![Page 105: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/105.jpg)
Support Vector Machines• Bedacht in jaren 60 (Vapnik)
• Methode van data classificeren• Binair classificeren in een
vectorruimte
Big Data sessie 23 maart 2015
![Page 106: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/106.jpg)
Support Vector Machines
Big Data sessie 23 maart 2015
Doel : scheidslijn vinden om data te scheiden
![Page 107: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/107.jpg)
Support Vector Machines
Een mogelijkheidBig Data sessie 23 maart 2015
B1
![Page 108: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/108.jpg)
Support Vector Machines
Big Data sessie 23 maart 2015
B2
Een andere mogelijkheid
![Page 109: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/109.jpg)
Support Vector Machines
Welke is beter? B1 or B2?Hoe definieer je wat beter is?
Big Data sessie 23 maart 2015
B1
B2
![Page 110: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/110.jpg)
Support Vector Machines
Support Vectors: Punten die door de ‘dikke lijn’geraakt worden
Big Data sessie 23 maart 2015
![Page 111: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/111.jpg)
Unsupervised LearningGeen 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
![Page 112: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/112.jpg)
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
![Page 113: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/113.jpg)
Clusteranalyse
Big Data sessie 23 maart 2015
Soorten:• Hierarchisch• K-means
![Page 114: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/114.jpg)
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
![Page 115: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/115.jpg)
Hierarchische clusering
Big Data sessie 23 maart 2015
p4 p1
p3
p2
p4p1 p2 p3
Traditional Hierarchical Clustering Traditional Dendrogram
![Page 116: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/116.jpg)
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
![Page 117: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/117.jpg)
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
![Page 118: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/118.jpg)
Clustering: K-meansAlgoritme1. Maak k clusters (wijs punten bijvoorbeeld
willekeurig toe aan 1 van de k clusters2. 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
![Page 119: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/119.jpg)
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
![Page 120: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/120.jpg)
ClusteranalyseSSE-methodeVoor 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
![Page 121: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/121.jpg)
R Voorbeeld Cluster analyse
Big Data sessie 23 maart 2015
![Page 122: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/122.jpg)
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
![Page 123: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/123.jpg)
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 observatiesClustering = zoeken naar homogene subgroepen
Big Data sessie 23 maart 2015
![Page 124: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/124.jpg)
Voorbeeld inleiding Rn<-15 #waarde wordt toegekend aan variabele nn # laat n zien, [1] betekent: het eerste element5->n # anderso kan ooknn<-2+10 #optellenn<-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 xmean(x) # gemiddeldemedian(x) # mediaansqrt(x) # wortely <- x^2 # we definieren een vector yx # laat x zieny # laat y ziencor(x,y) # correlatie tussen x en yboxplot(x) # mediaan, 1e en 3e kwartiel (mediaan van 1e en 2e helft) # kleinste en grootste waarnemingplot(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 verwijderenx2 <- c (1 , 1, 1, 2, 2, 2, 3, 3, 3, 3)duplicated (x )x2 <- x[! duplicated (x )]x2
#normaalverdelingx <- rnorm(50); y <- rnorm(50) #random normhist(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-ploty <- 0:30plot(y, dbinom(y, 30, 0.25), type = "h")
![Page 125: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/125.jpg)
Voorbeeld packages# voorbeeld laden packagesinstall.packages('party') # package installerenlibrary(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, structuursummary(iris) # belangrijke gegevens table(iris$Species)pie(table(iris$Species))var(iris$Sepal.Length) # variatie in lengtehist(iris$Sepal.Length) # normaalverdeling lengte
Big Data sessie 23 maart 2015
![Page 126: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/126.jpg)
Voorbeeld regressieyear <- 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 cpicor(quarter,cpi) ##minder sterke corr. quarter en cpifit <- lm(cpi ~ year + quarter) # lineair modelfitcpi2011 <- fit$coefficients[[1]] + fit$coefficients[[2]] * 2011 + fit$coefficients[[3]] * (1:4)cpi2011 ##voorspellen 2011##3d plotlibrary(scatterplot3d)s3d <- scatterplot3d(year, quarter, cpi, highlight.3d = T, type = "h", lab = c(2, 3)) # lab: number of tickmarks on x-/y-axess3d$plane3d(fit) # draws the fitted plane
Big Data sessie 23 maart 2015
![Page 127: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/127.jpg)
Voorbeeld logistieke regressie# voorbeeld logistieke regressielibrary("MASS")data(menarche) str(menarche) # str geft structuur van de datamenarche # 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 regressielines(menarche$Age, glm.out$fitted, type="l", col="red")title(main="Menarche Data with Fitted Logistic Regression Line")# lijn volgt heel goed de puntensummary(glm.out)
Big Data sessie 23 maart 2015
![Page 128: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/128.jpg)
Voorbeeld Decision Treetree.modelmy.prediction <- predict(tree.model, test.set)my.predictioninstall.packages('tree')library(tree)plot(tree.model)text(tree.modelrpart.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)yprediction
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_errorBig Data sessie 23 maart 2015
str(iris)irislibrary("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<-irisy<-irisdata$typeconfusion<-table(predict,y)confusionirisdatapredict
table(predict())
set.seed(101)alpha <- 0.7 # percentage of training setinTrain <- sample(1:nrow(iris), alpha * nrow(iris))train.set <- iris[inTrain,]test.set <- iris[-inTrain,]train.settest.settree.model <- tree(Species ~ Sepal.Width + Petal.Width, data=train.set))
![Page 129: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/129.jpg)
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 Specieslibrary(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
![Page 130: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/130.jpg)
Voorbeeld Nearest Neightbors## voorbeeld nearest neightbors# 3 punten in klasse AA1=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 classificatietrain=rbind(A1,A2,A3, B1,B2,B3)plot(train) # laat de punten zien in een plotcl=factor(c(rep("A",3),rep("B",3)))#kijken bij welke klasse een punt valttest=c(4,4)library(class)# call knn() and get its summarysummary(knn(train, test, cl, k = 1))# valt dus in klasse b, (daar staat 1)# ander punt testen, dat in a blijkt te vallentest=c(3.5, 3.5)summary(knn(train, test, cl, k = 1))
Big Data sessie 23 maart 2015
![Page 131: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/131.jpg)
Voorbeeld Neural Networksinstall.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 dataframetraininginput <- as.data.frame(runif(50, min=0, max=100))trainingoutput <- sqrt(traininginput)
#Column bind the data in een variabeletrainingdata <- 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 networkplot(net.sqrt)
#Test neural network met trainingsdatatestdata <- as.data.frame((1:10)^2) #Generate some squared numbersnet.results <- compute(net.sqrt, testdata) #Run them through the neural network
#Lets see what properties net.sqrt hasls(net.results)
#zie resultatenprint(net.results$net.result)
#Lets display a better version of the resultscleanoutput <- 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
![Page 132: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/132.jpg)
Voorbeeld Bayesinstall.packages("e1071")library(e1071)# bouwen van naiveBayesdata(iris)# m <- naiveBayes(Species ~ ., data = iris)m <- naiveBayes(iris[,-5], iris[,5])mtable(predict(m, iris), iris[,5])
Big Data sessie 23 maart 2015
![Page 133: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/133.jpg)
Voorbeeld Clusteranalyse# voorbeeld clusteringset.seed(8953) # random nummer generatoriris2 <- iris# remove class IDsiris2$Species <- NULL# k-means clustering met 3 clustersiris.kmeans <- kmeans(iris2, 3)# check resultaatiris.kmeans # 3 clusters met grootte 38,50 en 62table(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 clusteringidx <- sample(1:dim(iris)[1], 40)irisSample <- iris[idx,]irisSample$Species <- NULLhc <- hclust(dist(irisSample), method="ave")plot(hc, hang = -1, labels=iris$Species[idx])irisSample
Big Data sessie 23 maart 2015
![Page 134: Big data analytics johan quist](https://reader031.vdocuments.mx/reader031/viewer/2022021506/58a81d3c1a28ab4d148b59d5/html5/thumbnails/134.jpg)
BoekenAanraders
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