Geavanceerde data wetenschappen - Quickprinter0 Geavanceerde data wetenschappen Prof D. Martens &...

9
www.quickprinter.be Q 182 3,50 € 3de bach HI Inclusief opgeloste oefeningen uickprinter Koningstraat 13 2000 Antwerpen Datamining

Transcript of Geavanceerde data wetenschappen - Quickprinter0 Geavanceerde data wetenschappen Prof D. Martens &...

Page 1: Geavanceerde data wetenschappen - Quickprinter0 Geavanceerde data wetenschappen Prof D. Martens & Prof J. Springael Data science & Data mining Semester 1 Data science for business

www.quickprinter.be Q

182 3,50 €

3de bach HI

Inclusief opgeloste oefeningen

uickprinterKoningstraat 132000 Antwerpen

Datamining

Page 2: Geavanceerde data wetenschappen - Quickprinter0 Geavanceerde data wetenschappen Prof D. Martens & Prof J. Springael Data science & Data mining Semester 1 Data science for business

Nieuw!!!

Online samenvattingen kopen via

www.quickprintershop.be

Page 3: Geavanceerde data wetenschappen - Quickprinter0 Geavanceerde data wetenschappen Prof D. Martens & Prof J. Springael Data science & Data mining Semester 1 Data science for business

0

Geavanceerde data wetenschappen

Prof D. Martens & Prof J. Springael

Data science & Data mining

Semester 1

Data science for business – What you need to know about data mining and data-analytic thinking

Page 4: Geavanceerde data wetenschappen - Quickprinter0 Geavanceerde data wetenschappen Prof D. Martens & Prof J. Springael Data science & Data mining Semester 1 Data science for business

1

Lecture 1 (Ch. 1 & 2 )

Chapter 1: Introduction: Data-analytic thinking

Terminology Data science/wetenschappen = fundamentele principes om kennis/info te halen uit je data

Data mining = automatisch info halen uit data via verschillende technologieën; patronen in

data vinden

Big data = zo veel data dat de gewone, traditionele verwerkingssystemen er geen info of

kennis kunnen uithalen

Quering = naar bepaalde data zoeken in een gigantische dataset, je weet perfect waar je

naar zoekt (SQL)

OLAP = On-Line Analytical Processing; multidimensionele analyse; je data wordt visueel

voorgesteld & je weet waar je naar zoekt (SQL) (in tegenstelling tot data mining).

Business Intelligence (BI) = juiste info krijgen naar de juiste persoon op het juiste moment

Explanatory modeling = hypotheses testen

Predictive modeling = zo accuraat mogelijk voorspellingen maken

Voorbeeld: Real time bidding = persoon zit op een site waar adverteerders hun advertenties

op kunnen zetten. Die adverteerders bieden op dat moment, dat de persoon op de site zit,

om hun advertentie daar te plaatsen. Ze gaan bieden naargelang ze denken dat die persoon

wel geïnteresseerd zou kunnen zijn in hun product. => persoonlijke aanpak

Data mining process = data mining is een proces want er heeft enorm veel mee te maken:

creativiteit, gezond verstand, wetenschap,…

CRISP-DM = CRoss Industry Standard Process for Data Mining

Mini cases Case 1: Hoe kunnen kranten data gebruiken voor betere online reclame?

Wat gaan we voorspellen? In welke producten de personen geïnteresseerd zijn.

Input: artikelen die gelezen worden (rij = abonnee), op welke advertenties dus geklikt is,

want dan is de kans dat ze geïnteresseerd zijn toch groter

Page 5: Geavanceerde data wetenschappen - Quickprinter0 Geavanceerde data wetenschappen Prof D. Martens & Prof J. Springael Data science & Data mining Semester 1 Data science for business

2

Case 2: Hoe kan een HR-afdeling van een groot bedrijf data mining gebruiken voor een betere

retentie & aanwerving van werknemers?

Wat gaan we voorspellen? De waarde van een persoon in het bedrijf => moeilijk om te

berekenen. Dus beter het verloop voorspellen: gaan ze ontslag nemen of niet; ziekteverzuim;

worden ze ontslagen; …

Input: persoonlijke gegevens, details van een persoon (rij = persoon)

Data mining = top trend Data mining is een enorme trend geworden, enorm belangrijk, want tegenwoordig is er zoveel

informatie overal beschikbaar, omdat het toch niets kost om al die informatie op te slaan.

Obama heeft bijvoorbeeld bij de verkiezingen proberen voorspellen wie de twijfelaars zijn bij de

stemmers. Diegene die al voor hem gingen stemmen, daar moest hij zijn campagne niet meer op

afstellen, maar dus eerder op de mensen die twijfelden, zodat hij dan met een gepaste campagne die

ook nog zou kunnen overhalen om voor hem te stemmen.

Mini cases II Telco (gsm provider) heeft problemen met klanten die overstappen naar de concurrent.

Welke data kunnen helpen om dit te managen?

Input: hebben ze klacht in gediend; welke producten hebben ze gekocht; wie heeft er

gekocht (sociodemografische data); prijs/concurrentie vergelijken; hoe lang is de persoon

klant (geweest) ; sociaal netwerk (als vrienden bvb ook zijn overgestapt) ; Recency,

Frequency & Monetary

Doel: gaat de klant weg of niet

Data mining: opslag – networking – algoritmes – rekencapaciteit van pc

Essentieel voor effectieve en succesvolle data mining

Page 6: Geavanceerde data wetenschappen - Quickprinter0 Geavanceerde data wetenschappen Prof D. Martens & Prof J. Springael Data science & Data mining Semester 1 Data science for business

3

Wat zal er behandeld worden in de lessen?

Data mining lectures Pre-processing: Data eerst voorbereiden voor het data mining algoritme.

Problemen: soms ontbrekende waarden, uitschieters, data van meerdere databases, …

Voorspellend

o Classificatie:

Doelvariabele zijn discreet

Toepassingen: financieel, marketing, terrorisme

o Regressie:

Continue doelvariabele

Toepassingen: financieel & marketing

Beschrijvend

o Similarity matching: neem gelijke individuen waar gebaseerd op data die je over hen

hebt => basis voor aanbevelingen bij mensen

o Clustering: data verdelen in groepen die binnenin de groep allemaal gelijkend zijn,

maar tussen de verschillende groepen zelf is er zo weinig mogelijk gelijkenis

(toepassing: segmentatie)

o Associaties: veel voorkomende patronen detecteren (vb. market basket analysis)

o Profiling (& anomaly detection): een typisch profiel van een individu, groep of

populatie typeren/kenmerken

o Link voorspellend: voorspel linken tussen verschillende data onderdelen => vrienden

voorstellen op sociale netwerken

o Data reductie: vervang een groot deel van de data door een klein deel die meeste

van de informatie bevat

o Causal modeling: welke dingen beïnvloeden uiteindelijk elkaar

Post processing: interpreteren en valideren van de informatie: is het interessant, is het bruikbaar,

wat is onze intuïtie erbij.

Wat wordt er verwacht voor de lessen & het examen? Lessen: hoofdstukken op voorhand lezen & actief meedoen in de les

Examen:

o 1e semester: D. Martens: Data science & data mining

o 2e semester: J. Springael: Forecasting

o Zowel voor 1e semester als voor 2e semester slagen

o Mondeling examen

o Extra WEKA praktisch examen

o Data science challenge: optioneel, niet verplicht, kan je wel een extra punt mee

verdienen

Page 7: Geavanceerde data wetenschappen - Quickprinter0 Geavanceerde data wetenschappen Prof D. Martens & Prof J. Springael Data science & Data mining Semester 1 Data science for business

4

Chapter 2: Business problems & data science solutions

Data pre-processing Sampling:

o Een sample is een deel van de populatie. Bij sampling zoeken we een deel van de

populatie die representatief is voor een groot deel van de populatie om zo dingen te

bepalen voor de hele populatie.

o Waarom doen we het? Voor het economisch voordeel, voor grote populaties, voor

gedeeltelijk bereikbare populaties

o Een staal (sample) moet representatief zijn.

o Timing van de data (sample) moet goed zitten. We hebben te maken met een trade-

off tussen veel data versus recente data: welk is nu het best? Het meest

representatief?

o Probeer seizoenseffecten uit te schakelen, het moet een zo normaal mogelijke

situatie zijn om een zo accuraat mogelijk beeld te schetsen.

o Voorbeeld: Bij een bank gaan zien/voorspellen wie er failliet zou gaan of niet.

Populatie = iedereen die de bank binnenwandelt

Sample: diegene die je een lening hebt gegeven, want daar heb je info over

Populatie ≠ sample!

Variabelen:

o Continue variabelen: bvb inkomen

o Discrete variabelen:

Nominale: burgerlijke status: is niet te plaatsen in een bepaalde volgorde

Ordinale: leeftijd als jong, middelmatig, oud (want kan men dus in een

bepaalde volgorde zetten)

Binair: geslacht: ofwel vrouwelijk, ofwel mannelijk

K Nearest Neighbour (kNN)

= meest gelijkaardige persoon zoeken in de dataset en daarop je target bijpassen.

John ~ David: dus John zal ook een goede klant zijn (waarden voor John ontbraken => hoe

gaan voorspellen?)

Encoding:

o Nominale variabelen: dummy’s (betekenis aan variabelen geven!)

o Ordinale variabelen thermometer encoding (zie figuur slide)

Voorbeeld thermometer encoding:

MS = {S, M, D} (single, married, divorced)

nominale variabelen: hier dummies voorzien want er zit geen orde in

Dsingle Dmarried Ddivorced

Single 1 0 0

Married 0 1 0

Hoe encoderen: I (inkomen) = {A, M, R} => arm, medium, rijk. Dit zijn ordinale variabelen, dus er zit een orde in.

Stel dat je dummy encoding toepast:

Darm Dmedium Drijk

Arm 1 0 0

Medium 0 1 0

Rijk 0 0 1

Page 8: Geavanceerde data wetenschappen - Quickprinter0 Geavanceerde data wetenschappen Prof D. Martens & Prof J. Springael Data science & Data mining Semester 1 Data science for business

5

Afstand tussen iemand die rijk is en tussen iemand die medium is? Hoe afstand gaan berekenen (tussen de twee vectoren)?

Bvb: Som (0-0)² +(1-0)²+(0-1)² = 2. Maar afstand tussen iemand die arm is en iemand die medium is, is even groot als de

afstand tussen iemand die arm is en iemand die rijk is => KAN NIET!

Dus thermometer encoding gaan toepassen . Thermometer zegt heeft iemand meer als 1000€ of heef iemand meer dan €

10 000

T €1 000 T €10 000

Arm 0 0

Medium 1 0

Rijk 1 1

Dus nu wel de formule gaan toepassen! Want nu wel dubbel zo grote afstand tussen rijk en arm (afstand is 2) ten opzichte

van rijk en medium (afstand is 1).

Missing values:

Hoe omgaan met ontbrekende waarden/variabelen?

o Keep: het feit dat een men een variabele mist kan net belangrijke informatie

bevatten.

=> Men kan best de variabele op een speciale manier dan gaan coderen

o Delete: als er teveel variabelen van een observatie missen, kan men de observatie

beter verwijderen

Horizontaal verticaal ontbrekende variabele

o Replace: men kan de ontbrekende variabele proberen schatten.

Continue observaties: vervangen door het gemiddelde

Ordinale/nominale observaties: vervangen door modale waarde

Regressie of ‘Tree based imputation’: ontbrekende waarde voorspellen op

basis van andere variabelen

Nearest neighbour imputation: schatten op basis van te kijken naar de meest

gelijkende in de buurt, en daar dan de gegevens van overnemen

Outliers:

o Uitschieters ten gevolge van verkeerde inputgegevens of ruis

o Soms zijn uitschieters echt nuttige en correcte waarden, soms zijn het gewoon foute

metingen

o Univariate uitschieter detectie methode:

Visueel: histogram of box plots

Z-score:

μ = gemiddelde van x ; σ = standaardafwijking

Uitschieters zijn dan alles wat buiten drie keer de standaardafwijking

ligt (3* σ)

Box plot: mediaan (0,5), eerste (0,25) en derde kwantiel (0,75), minimum en

maximum (zie figuur).

o Hoe gaan we ze aanpakken?

Verwijder de observatie indien te extreem

Kijken of de variabele verantwoordelijk is voor de meeste uitschieters. Zo ja,

variabele verwijderen

Page 9: Geavanceerde data wetenschappen - Quickprinter0 Geavanceerde data wetenschappen Prof D. Martens & Prof J. Springael Data science & Data mining Semester 1 Data science for business

6

Truncation: alle variabelen vervangen die buiten drie keer de

standaardafwijking liggen

o Bij kNN gaan we kijken wat de meest gelijkende in de buurt is. Maar omdat het zo

goed als altijd verschillende schalen bevat, moeten we normaliseren.

Voorbeeldje van John: John lijkt op eerste gezicht het meest gelijkend aan David,

maar via euclidische afstand te hebben berekend, merken we dat de afstand tussen

John en Bart kleiner is dan tussen John en David. Dus moeten we normaliseren zodat

we zullen merken dat John en David het meest gelijkend zijn.

o Normaliseren van data:

Zo gaan de data allemaal dezelfde schaal bekomen. Inkomen en leeftijd kan

men bijvoorbeeld moeilijk gaan vergelijken omdat ze niet dezelfde schaal

hebben.

Xnew = 𝑋𝑜𝑙𝑑−𝑚𝑒𝑎𝑛 (𝑋)

𝑠𝑡.𝑑𝑒𝑣.(𝑋)

Binning:

Equal-width (distance) partioning

Equal-depth (frequency) partioning

Zo kan men het best leeftijden gaan onderverdelen in categorieën.

Voorbeeldje zie slides: kijken naar pieken en dalingen, zo kunnen

opsplitsen