datamining Flashcards
Vad är datamining?
Data Mining är den faktiska “tillämpningen av avancerade statistiska och artificiella
intelligensstekniker för att hitta och analysera mönster och relationer mellan data för att
klassificera eller förutsäga den” - Kroencke (2017)
Beskriv dom huvudsakliga data mining tasksen och deras kategori
Predictive modellering- prediktiv
Associationsanalys- deskriptiv
klusteranalys- Deskriptiv
Avvikelseanalys - predektiv eller deskriptiv
Berätta om prediktiv modellering
- Försöker förutsäga värdet på en variabel (target variable) baserat på andra attribut ( explanatory variables)
- Förklarande approach
- Ofta övervakad(supervised)
Berätta om Associationsanalys -
Hitta mönster som beskriver och summerar relationer inom datan
Identifiera ifall närvaron av en variabel är lika med närvaron av en annan variabel
Utforskande approach
Är ofta oövervakad(unsupervised)
Kan användas inom t.ex. köpkorgsanalys eller
inom IT för att hitta webbsidor som besöks tillsammans.
Berätta om klusteranalys
Oövervakad(unsupervised approach)
Dela in data i homogena grupper (kluster)
Likheten bestäms genom avståndet, med exempelvis euclidean eller manhattan distance
Kan användas för att t.ex.
samla kunder som köper liknande varor och då samla dessa i kluster genom att analysera
deras varukorgar.
Berätta om avvikelseanalys
- Går ut på att upptäcka anomalier eller outliers (uteliggare). Observationer
vars karaktärsdrag skiljer sig markant från resten av datan. En bra avvikelseanalys upptäcker
mycket men har samtidigt ett lågt antal av False Positives. Kan användas för att upptäcka
t.ex. bedrägerier eller nätverksintrång.
Vad är KDD processen? och vad är dom 5 stegen?
KDD processen är ett helhetsbegrepp som beskriver omvandlingen från rådata till
användbar information.
Steg 1: Data Selection
- Man väljer ut utifrån olika källor vilken data man ska använda sig av.
Steg 2: Preprocessing
- Man städar och organiserar datan genom att bl.a. ta bort felaktigheter, uteliggare
och gör integreringar mellan olika dataset.
Steg 3: Transformation
- Man transformerar datan till ett format som krävs för den specifika Data Mining
metod man ska använda sig utav.
Steg 4: Data Mining
- Själva utförandet av Data Mining metoden och data-utvinningen görs.
Steg 5: Interpretation and analysis of the results
- Man tolkar och analyserar svaren man fått vid datautvinningen.
Berätta om CRISP-DM
CRISP-DM står för CRoss-Industry Standard Process for Data Mining och är en modell som
används brett inom branschen.
➔ Modellen är en öppen standard och öppen för alla att använda. Modellen refereras även till att vara best practice. ➔ Skapades 1996 av personer i branschen (inklusive SPSS, Statistical Package for the Social Sciences). ➔ Modellen illustreras som en kontinuerlig, iterativ cykel. ➔ Modellen består av 6 delar: ◆ Business Understanding ◆ Data Understanding ◆ Data Preparation ◆ Modeling ◆ Evaluation ◆ Deployment
Vad menas med prediktiv datamining?
Prediktiv (vad?)
● Används för att förutsäga värdet (regression) eller tillhörighet.
(klassificering) för ett attribut (target variable) baserat på värdet av
andra tidigare kända attribut (explanatory variables).
● Har en förklarande approach (explanatory approach).
● Är oftast övervakad (supervised).
Vad menas med deskriptiv data mining?
Deskriptiv (varför?)
● Upptäcka mönster som summerar eller beskriver de underliggande
relationerna inom datan.
● Har en utforskande approach (exploratory approach).
● Är oftast oövervakad (unsupervised).
Vad finns det för problem inom data mining?
● Otillräckligt med träning ● Otillräckligt verktygsstöd ● Svårighet att komma åt önskad data. ● Överflöd av mönster som gör det otydligt. ● Föränderlig och tidsorienterad data. sid 14 av 72 ● Rumsorienterad data. ● Komplexa datatyper. ● Skalbarhet. ● Etik (!!!)
Varför är det viktigt att känna till datan du jobbar med?
Att känna till vilken data du hanterar är viktigt för att kunna veta vad du kan
göra och vilka metoder du kan använda. Det kan också innebära att du behöver
konvertera datan, beroende på vilken metod du ska använda på den.
Beroende på hur pålitlig datan är så påverkas ditt resultat. Ju opålitligare data du har,
desto opålitligare resultat får du. Vid preprocessing-delen påverkas även resultatet - vilket
innebär att ditt resultat alltid blir subjektivt på ett eller annat sätt! Detta beror på att
analytikern subjektivt väljer vilka data man vill filtrera bort, ignorera eller lyfta fram
Vad är DIKW pyramiden och vilka steg har den?
Denna modell är debatterad och ifrågasatt men kan vara bra för att få ett perspektiv på
relationerna mellan data, information, kunskap och visdom.
Data är “råa fakta”, information är data med en mening och syfte i en kontext, kunskap är
information som sätts ihop till något som är tillräckligt för att kunna fatta beslut ifrån och
visdom är att förstå varför det är på ett visst sätt.
Vad är data?
Data kan struktureras upp i dataobjekt och deras attribut.
Varje rad i en tabell representerar ett objekt, t.ex. en
person, och varje kolumn representerar respektive attribut
för det objektet, dvs variabler som beskriver objektet.
Attribut och variabler är alltså samma sak.
Attribut kan kategoriseras utifrån två sätt, vilka?
utifrån
vilka matematiska operationer som kan göras (logiska operationer) och utifrån
vilka värden de kan ha (Diskreta värden, kontinuerliga värden samt asymmetriska värden).
Vilka kategorier kan data ha utifrån vilka matematiska operationer som kan göras?
➔ Kvalitativa (beskrivande data)
◆ Kan göras jämförelser på, t. ex. =, ≠,
➔ Kvantitativa (beräknande data)
◆ Kan göras beräkningar på, t. ex. +, -, *, /
Namnge dom 4 dataskolorna och vilken kategori dom tillhör gällande matematiska operationer.
Nominal (kvalitativ)
Ordinal (kvalitativa)
Intervall (kvantitativa)
Ratio/kvotskala (kvantitativa)
berätta om nominal data
Nominal (kvalitativ)
Grupperingar av data utifrån något godtyckligt kategoriskt; exempelvis hårfärg, bransch,
arbetsfunktion. Ordningen spelar ingen roll. Här kan vi jämföra olika data och se vilket som
förekommer mest osv. men inte räkna på det. Binära data är en typ av nominal data som
har två utfall, exempelvis Ja/Nej.
T.ex. bilmärken. Det är beskrivande data som inte går att mäta (man kan inte mäta
avståndet mellan bilmärken). Däremot går det att konkretisera genom att omvandla alla
förekomster av nominal data till binärer (0 om det inte finns och 1 om det finns). Bilmärkena
skulle kunna tas bort i detta fall och istället skapa kolumner för varje bilmodell (“Audi”,
“BMW”, “Volvo”…) och sedan markera förekomsten av varje i exempelvis ett
parkeringsgarage.
Berätta om ordinal data
Ordinal (kvalitativa)
Här finns det en ordning; det kan börja från minsta till största eller
tvärtom. Kan exempelvis vara excellent-average-poor, betyg osv. Det
kan dessutom vara olika stora avstånd mellan varje steg. Utifrån denna
data kan vi exempelvis räkna ut “rank order”, median osv.
sid 17 av 72
T.ex. betygsskalan U = 0 - 50%, G = 50-85%, VG = 85 - 100%, visar att det inte går att ta ut
en jämn skala ur ordinal data.
Berätta om intervall-data
Intervall (kvantitativa)
Avstånden mellan varje steg är lika stort. Siffran 0 är arbiträr/godtycklig och innebär
inte avsaknaden av data utan är enbart ett tal som alla andra i skalan. Med
intervalldata är det enkelt att mäta ett korrekt och skalenligt avstånd mellan två
punkter. Går dock inte att få ut ratio ur detta då den är nollbaserad.
T.ex. kan man se celsiusskalan som intervall eftersom den går från -273 ℃ till
(nästan) oändligheten.
Berätta om Ratio/kvotskala
Är som intervalldata, d.v.s. avstånden mellan varje steg är lika stort. Dock innebär
siffran 0 avsaknad av något. Därav kan det heller inte bli ett negativt värde.
T.ex. Pengar, Kelvinskalan, socker i en Coca Cola.
Data kan innehålla olika typer av värden, vilka?
Diskreta värden
Kontinuerliga värden
Asymmetriska värden
Berätta om Diskreta värden
Ett diskret attribut kan ha ett fixerat antal värden/kombinationer eller obegränsat antal
värden. Dessa kan vara integer-tal eller binära/boolean-värden.
T.ex. kan det vara registreringsnummer på bilar, personnummer eller vanliga heltal.
Kontinuerliga värden
Ett kontinuerligt attribut som består av reella tal, dvs med decimaler.
T.ex. kan det vara längd eller vikt.
Asymmetriska värden
För ett asymmetriskt attribut så är det bara ett icke-noll värde som är relevant, dvs när
attributet antagit något faktiskt värde. Detta är ofta binära attribut (asymmetriska binära
data) där man väljer att enbart fokusera på värdet 1, eller true, eftersom antalet 0-värden,
eller false, är irrelevant. Detta går hand i hand med gleshet/sparsity, se
nedan.
T.ex. i en köpkorgsanalys där man bara tittar på de produkter som köpts
och inte är intresserad av de produkter som inte köpts. Köper vi tre paket
sid 18 av 72
smör så är det av intresse, men att vi inte köper någon mjölk, grädde eller ost är ointressant
att veta.
Egenskaper hos dataset
Dimensionalitet
Gleshet (Sparsity)
Upplösning (Resolution)
Dimensionalitet
Ett datasets dimensionalitet är antalet attribut som objekten kan ha. Data med ett
litet antal dimensioner kan tenderar till att få en annan kvalitet än data med
många dimensioner. Utmaningarna med att analysera data med många
dimensioner brukar kallas för curse of dimensionality. Med hänsyn till detta brukar
man försöka reducera antalet attribut i preprocessing-delen.
Gleshet (Sparsity)
För dataset som har asymmetriska egenskaper är det oftast en stor del av alla attribut som
har värdet noll; ofta kan under 1% av alla attributen innehålla ett icke-noll värde. Detta kan
exempelvis vara en kundkorgs-analys där varje vara har ett eget attribut och det på så sätt
blir extremt många attribut med noll-värden. Detta innebär att alla attribut är väldigt glest
isär, dvs “sparse”.
När detta är fallet kan man göra en Sparse Data Matrix (gles matris) som enbart sparar och
hanterar icke-noll värden och bortser från alla värden som är noll. Detta resulterar i att man
kan göra avsevärt mycket effektivare beräkningar, sparar utrymme och får mer relevanta
resultat.
Upplösning (Resolution)
Det går att få ut data vid olika nivåer av upplösning
(resolution). Ju större mängder och ju oftare data samlas in,
desto högre blir upplösningen och desto noggrannare blir
datan vilket leder till att analyser av datan också blir noggrannare. T.ex. om man mäter
väderleksdata månadsvis så kan man enbart jämföra datan för varje månad medan om man
mäter per timme så kan man se mycket mer precisa förändringar.
Det finns två primära sätt att visa/lagra data på, vilka
Tabelldata och
Grafdata.
Tabelldata (Record Data)
Data Records är egentligen bara ett sätt att lagra ett set av
dataobjekt med dess bestämda antal attribut i antingen en platt
fil eller en relationsdatabas, dvs tabell. Exempel på denna typ av lagringsformat är
Document term matrix eller transaktionsdata.
Grafdata (Graph Data)
Grafer är ett bra sätt att representera två olika aspekter av data,
nämligen:
- Relationer mellan dataobjekt
När man vill illustrera relationer mellan två separata objekt
så kan man representera objekten som noder och relationer
som anknytningar mellan noderna. - Data vars objekt innehåller subobjekt med relationer
När man har objekt som i sin tur innehåller subobjekt med
relationer så kan man representera dem som en graf.
T.ex. om objektet är en representation av en molekyl så innehåller
objektet noder (atomer) och relationer (kemiska bindningar).
Ordning av data kan delas upp i fyra olika typer
Sekventiell data (Sequential/temporal data)
Sekvensdata (Sequence Data)
Tidsseriedata (Time Series Data)
Rumsdata (Spatial Data)
Sekventiell data (Sequential/temporal data)
Om vi har en tabell med objekt med godtyckliga attribut som alla har någon form av
referens till en tidpunkt så är det sekventiell data.
T.ex. är en incheckningslista på ett hotell. Utöver datan som finns om gästerna så är de alla
relaterade och ordnade efter någon form av tidsattribut.
Sekvensdata (Sequence Data)
Sekvensdata är data som är en sekvens av individuella entiteter. Den är väldigt lik
sekventiell data, men med den stora skillnaden att den inte har några tidsstämplar.
T.ex. vårt alfabet eller DNA-sekvenser hos människor eller djur.
Tidsseriedata (Time Series Data)
Tidsseriedata är en speciell typ av sekventiell data där varje record är en serie av
mätningar tagna över en viss tid. En viktig aspekt av denna typ av data är
“Temporal autocorrelation”, vilket innebär att om två punkter är nära varandra
rent tidsmässigt så är ofta värdena av dessa mätningar väldigt lika.
T.ex. mått på genomsnittlig temperatur för varje år över ett årtionde eller finansiell data
Rumsdata (Spatial Data)
Vissa objekt har ett attribut som representerar någon form av
position eller område utöver de andra attributen som objektet
har. Ett exempel på detta är en väderlekskarta som visar väderlek
för olika områden av Sverige.
En viktig aspekt av denna typ av data är “Spatial autocorrelation”, vilket innebär att två objekt
som befinner sig fysiskt nära varandra tenderar att vara mer lika
varandra på ett eller flera sätt. Vilket skulle betyda att två punkter
på väderlekskartan som är nära varandra förmodligen har
liknande väderlek och temperaturförhållanden.
Vad är dom vanligaste felen med datakvaliten?
Brus (Noise)
Uteliggare (Outliers)
Saknade värden (Missing values)
Brus (Noise)
Brus är ett slumpmässigt fel som kan uppstå vid mätning av data. Det finns två olika
typer av brus som kan förekomma:
1. Antingen är den en fråga om förvrängda värden som ett resultat av t.ex
trasiga mätinstrument.
2. Eller så rör det sig om någon form av falska värden som blandats in i ett dataset,
t.ex. tomma eller falska värden som kan uppstå vid mätningar, men som egentligen
inte har något faktisk betydelse.
För att mitigera problematiken med noise så kan man använda sig av robusta algoritmer
som inte är lika känsliga för denna typ av fel. Noise som uppkommer av deterministiska skäl
(ej slumpmässiga) kallas för “Artefakter”.
Uteliggare (Outliers)
Uteliggare är objekt vars attributvärden markant avviker från andra objekt i
samma set. Alternativt så har en outlier ovanliga värden i förhållande till
vad som förväntas.
Viktigt är att skilja på outliers och noise då outliers kan vara legitima objekt
som innehåller faktiska värden vilket kan vara av intresse vid Data Mining,
till skillnad från noise som har falska värden och är helt ointressanta. Därför ska man vara
försiktig med att ta bort uteliggare vid städning av data.
Uteliggare används t.ex vid detektering av bedrägerier eller
detektering av intrång i datanätverk.
Saknade värden (Missing values), vad är detta och vad är dom tre formerna av saknad data?
Ibland kan objekt sakna värden på vissa av sina attribut.
Detta kan beror på många olika saker, t.ex. att en användare
väljer att inte fylla i vissa fält i ett formulär. För enkelhetens skull så sparas alla fält, men vissa
har då saknade värden. Det finns tre olika typer av saknade värden som vi beskriver nedan.
(Missing completely at random) Värden saknas helt slumpmässigt:
När värden saknas helt utan mönster och kan bero på faktorer som är helt
oberäkneliga.
Missing at random:
När värden saknas på grund av ett annat känt värde gör att det saknade
värdet inte går att mäta.
Not missing at random:
När värden saknas på grund utav värdet i sig självt.
Det finns olika sätt att hantera saknade värden i data, dessa är?
Radera dem
Detta innebär att man antingen tar bort de objekt som saknar värden på ett visst attribut,
eller ta bort hela attributet i sig från alla objekt. Vad man väljer att göra beror på vad som
har högst värde. Om det finns många andra objekt och borttagande av ett som saknar ett
attribut inte gör någon större skillnad så är detta bäst. Om attributet inte genererar ett så
stort värde till hela analysen så kan det tas bort, detta bör man dock vara extra försiktig
med.
Ignorera dem
Detta innebär att när man jämför värden med varandra så bortser man helt från de attribut
som saknar värden och jämför endast de som har värden. Detta gör dock att jämförelse
mellan vissa objekt endast blir ungefärlig, men det gör inte så mycket om det finns flera
andra attribut som dessutom kanske är viktigare för jämförelsen.
Uppskatta dem
Detta innebär att värden som saknas kan estimeras fram baserat på värden som inte saknas.
T.ex. ifall man har ett antal mätningar som gjorts över tid med relativt hög frekvens. Vissa
mätningar saknar tidsstämpel men eftersom att de andra måtten tagits inom närliggande
tidsrymd så kan man estimera ett ungefärligt värde av tiden för de inkompletta
mätningarna.
Övriga dataproblem -Inkonsekventa värden (Inconsistent values)
Värden som bör vara lika utformade men inte är det, t.ex. att man skriver
telefonnummer olika.
Övriga dataproblem -Duplicerad data (Duplicate data)
Flera identiska värden i samma set t.ex två objekt som representerar samma
kund i en kunddatabas.
Övriga dataproblem -Tidsberoende data (Timelines)
Data som blir föråldrad efter en viss tid t.ex en attityd analys (eng. Sentiment
analysis) kanske inte är lika relevant ett år efter att analysen gjordes då åsikter
förändras.
Övriga dataproblem -Irrelevant data (Relevance)
Datan man använder för analys måste vara relevant för den analys man ska
göra. Därmed så vill man inte ha irrelevant data.
Övriga dataproblem -Kunskap om data (Knowledge of data)
Om kunskap om ett dataset saknas så kan det påverka analysen negativt då
vissa värden för ett attribut kanske är avvikande av en anledning, t.ex om
ålder inte angivits i ett formulär så kanske det representeras med talet 0.
Detta betyder inte att personen är 0 år gammal utan att värdet saknas. Om
analytikern inte känner till detta så blir resultatet av analysen felaktig.
Dokumentation följer vanligtvis med äkta dataset där denna typ av
information finns specificerad.
Preprocessing, vad är det och varför är det viktigt?
Preprocessing är processen att omvandla data från en rå form till ett format som är lämpligt
i förhållande till en/flera analysmetoder. Utan detta steg är det ofta inte möjligt att
analysera datan och få bra resultat. Valet av preprocessing metoder är av stor vikt då det
påverkar utfallet
Aggregering (Aggregation), vad är det? Berätta för och nackdelar
Metod för preprocessing.
Aggregering (Aggregation)
Aggregering innebär att man tar två eller flera objekt/attribut och slår ihop dem till
ett. Det kan alltså både vara att man tar flera objekt (rader) och slår ihop, men likväl
kan det vara flera attribut (kolumner) som slås ihop.
Exempelvis om man har en mängd data rörande transaktioner i en butik så kan man
aggregera summan av priset på alla sålda varor till ett enda värde och på så vis
reducera antalet objekt i setet.
Fördelar
- Fördelar med aggregering är att man får ett mindre dataset vilket kräver
mindre lagringsutrymme och beräkningskraft. - Aggregering kan användas för att ändra scope/skalan på datan från ett
lågnivå perspektiv till en högnivå perspektiv. - Vidare så kan aggregerad data vara mer statistiskt stabil då t.ex genomsnitt
eller summor av ett antal transaktioner i en butik inte varierar lika mycket som
summan av ett antal individuella transaktioner vilket kan vara att föredra i
vissa situationer.
Nackdelar
En nackdel är dock att man potentiellt förlorar mycket detaljer när man slår
ihop flera objekt till ett objekt.
Vad är Sampling och vad är viktigt med det?
Sampling innebär att man väljer ut en del av ett dataset, kallat ett subset.
Det är fördelaktigt för Data Mining då det kan vara för krävande i förhållande till tid
och beräkningskraft att hantera hela setet. Att använda ett subset gör det således
möjligt att använda mer krävande algoritmer.
Det är dock av största vikt att man väljer ut ett subset som är representativt för hela
datasetet. Att ett subset är representativt innebär att det har samma proportioner av
värden för attribut, anomalier och andra egenskaper hos datan som för hela setet.
Nämn fyra olika samplingsstrategier
Holdout
(Repeated) Random Subsampling
Cross-validation
Bootstrap
Holdout, vad är det?
samplingsstrategi
Holdout: Originaldatan är uppdelad i två separata dataset. Där det ena blir
träningssetet och det andra testsetet. Från träningssetet skapas en modell vars
träffsäkerhet utvärderas med hjälp av testsetet. Det är upp till analytikern att
bestämma andelen testdata och träningsdata men det kan t.ex. vara 50-50.
Alternativt så kan man använda en ratio av ⅔ för träning och ⅓ för testning om det är
viktigare med att t.ex prediktera/klassificera så många records som möjligt, viktigt är
dock att man studerar resultaten testen för att se ifall modellen blivit övertränad.
(Repeated) Random Subsampling
nnebär att holdout-metoden repeteras flera
gånger för att öka prediktionen av klassificeringsmodellen.
Cross-validation
Är ett alternativ till random subsampling. Det innebär att varje
record används samma antal gånger för träning och exakt en gång för testning.
Orginaldatan kan delas upp i två eller flera separata dataset. Om det t.ex. är två
dataset X och Y. Då är först X träningsset och Y testset och nästa körning byter de
helt enkelt roller.