datamining Flashcards

(135 cards)

1
Q

Vad är datamining?

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Beskriv dom huvudsakliga data mining tasksen och deras kategori

A

Predictive modellering- prediktiv
Associationsanalys- deskriptiv
klusteranalys- Deskriptiv
Avvikelseanalys - predektiv eller deskriptiv

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Berätta om prediktiv modellering

A
  • 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)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Berätta om Associationsanalys -

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Berätta om klusteranalys

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Berätta om avvikelseanalys

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Vad är KDD processen? och vad är dom 5 stegen?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Berätta om CRISP-DM

A

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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Vad menas med prediktiv datamining?

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Vad menas med deskriptiv data mining?

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Vad finns det för problem inom data mining?

A
● 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 (!!!)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Varför är det viktigt att känna till datan du jobbar med?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Vad är DIKW pyramiden och vilka steg har den?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Vad är data?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Attribut kan kategoriseras utifrån två sätt, vilka?

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Vilka kategorier kan data ha utifrån vilka matematiska operationer som kan göras?

A

➔ Kvalitativa (beskrivande data)
◆ Kan göras jämförelser på, t. ex. =, ≠,

➔ Kvantitativa (beräknande data)
◆ Kan göras beräkningar på, t. ex. +, -, *, /

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Namnge dom 4 dataskolorna och vilken kategori dom tillhör gällande matematiska operationer.

A

Nominal (kvalitativ)
Ordinal (kvalitativa)
Intervall (kvantitativa)
Ratio/kvotskala (kvantitativa)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

berätta om nominal data

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Berätta om ordinal data

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Berätta om intervall-data

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Berätta om Ratio/kvotskala

A

Ä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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Data kan innehålla olika typer av värden, vilka?

A

Diskreta värden
Kontinuerliga värden
Asymmetriska värden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Berätta om Diskreta värden

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Kontinuerliga värden

A

Ett kontinuerligt attribut som består av reella tal, dvs med decimaler.
T.ex. kan det vara längd eller vikt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
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.
26
Egenskaper hos dataset
Dimensionalitet Gleshet (Sparsity) Upplösning (Resolution)
27
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.
28
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.
29
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.
30
Det finns två primära sätt att visa/lagra data på, vilka
Tabelldata och | Grafdata.
31
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.
32
Grafdata (Graph Data)
Grafer är ett bra sätt att representera två olika aspekter av data, nämligen: 1. 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. 2. 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).
33
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)
34
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.
35
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.
36
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
37
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.
38
Vad är dom vanligaste felen med datakvaliten?
Brus (Noise) Uteliggare (Outliers) Saknade värden (Missing values)
39
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”.
40
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.
41
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.
42
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.
43
Ö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.
44
Övriga dataproblem -Duplicerad data (Duplicate data)
Flera identiska värden i samma set t.ex två objekt som representerar samma kund i en kunddatabas.
45
Ö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.
46
Ö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.
47
Ö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.
48
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
49
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.
50
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.
51
Nämn fyra olika samplingsstrategier
Holdout (Repeated) Random Subsampling Cross-validation Bootstrap
52
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.
53
(Repeated) Random Subsampling
nnebär att holdout-metoden repeteras flera | gånger för att öka prediktionen av klassificeringsmodellen.
54
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.
55
Bootstrap
samplingsstrategi Är ett slumpmässigt träningsset där ett record dras ur orginaldatan och placeras i ett träningsset. Därefter placeras recordet tillbaka i originaldatan igen för att sedan dra ett nytt träningsrecord. Således finns det en möjlighet att samma record förekommer flera gånger i träningssetet.
56
Dimensionality reduction
on är när ett dataset har ett mycket stort antal attribut t.ex när man skapat ett “document term matrix” för att mäta förekomsten av varje ord i ett eller flera dokument. Varje ord som förekommer minst en gång blir således ett attribut och kan resultera i tiotusentals attribut för varje enskilt objekt. Fördelar med att göra en sk dimensionality reduction är att flera algoritmer fungerar bättre om det finns få attribut i objekten då det blir mindre kostsamt i förhållande till tid och beräkningskraft. Det reducerar även antalet irrelevanta attribut och eventuellt noise som kan finnas i setet. Modellen blir också ofta lättare att tolka och visualisera om det finns färre attribut. Om datasetet ska användas för träning av en algoritm så är det ibland bättre att ha färre attribut då det reducerar risken för överträning vilket skulle leda till en försämrad generaliseringsförmåga hos algoritmen. Detta leder oss in på vad som kallas för “Curse of Dimensionality”.
57
Curse of Dimensionality
Curse of Dimensionality innebär att många typer av analys blir svårare och mer krävande ju fler dimensioner/attribut som datan har. Detta beror på att datan får många fler noll-värden i sina kolumner, dvs alla attribut som har ett icke-nollvärde blir mer “sparse”, dvs glesa. Detta skapar problem om man vill skapa en modell för klassificering eller om man vill använda klustring då en stor majoritet av värdena är irrelevanta vilket gör att det blir svårt att mäta avstånd mellan två värden. Det blir också naturligt mer resurskrävande ju fler dimensioner som finns. En lösning på detta kan vara feature subset selection eller feature creation, vilket beskrivs nedan.
58
Feature subset selection
Detta är ett sätt att minska dimensionaliteten (antalet attribut). Genom att välja bort de egenskaper (attribut) som är irrelevanta eller redundanta och enbart spara relevanta attribut. T.ex. moms för en produkt kommer vara redundant och t.ex. student ID är irrelevant för att räkna ut studenters genomsnittliga betyg. Feature Subset Selection kan användas på tre huvudsakliga tillvägagångssätt: Embedded Approaches Feature Selection utförs naturligt som del av att algoritmen körs. Algoritmen bestämmer själv vilka egenskaper (attribut) som ska användas eller ignoreras. Filter Approaches Egenskaper (attribut) är valda innan data algoritmen körs. T.ex. vi väljer set av attribut vilkas parvisa korrelation är så låg som möjligt. Wrapper Approaches Använder en algoritm som genererar flera subset för att hitta det som har bäst träffsäkerhet
59
Feature creation
Feature creation innebär att man skapar en ny uppsättning attribut baserat på befintliga attribut. Fördelen är att man kan bevara informationen i attributen på ett mer effektivt sätt. Vidare så får man ofta många av de fördelar som nämns under Dimensionality Reduction avsnittet ovan. ``` Det finns tre stycken metoder för Feature Creation: - Feature extraction - Mapping to a new space - Feature construction ```
60
Discretization & Binarization av data
En del data-mining-algoritmer, särskilt klassificeringsalgoritmer kräver att datan har kategoriska attribut. Andra algoritmer som t.ex. hittar associationsmönster kräver att datan är binär. Transformationen av datan kallas då Discretization respektive Binarization
61
Variable (attribute) transformation
En variable transformation är en gemensam ändring som görs på alla attribut-värden. Man kan t ex. utföra en funktion på variablerna för att få en mindre range på alla data eller för att alla data ska kunna ha samma egenskaper etc. Om det exempelvis är väldigt stora skillnader i numeriska data, typ tal som är alltifrån 1 till 1 miljard, så kan man utföra en funktion så attributen istället har värdet av hur stort talet är, snarare än det faktiska talet. På så sätt blir det mycket lättare att beräkna och hantera. Det kan likväl nyttjas för att minska påverkan av outliers.
62
Nyckelbegrepp inom textmining
Corpus = Samling av dokument. - Dokument = En del med text. - Term = Ett ord (oftast), eller en sträng av ord.
63
Egenskaper hos textdata
Stora mängder data. - Hög dimensionalitet. - Gles data. - Tvetydiga meningar. - Lätt för människor men svårt för datorer att läsa - T.ex. sarkasm och metaforer etc. - Beror på kontext. - “Fuzzy phrases” (svårtydliga fraser, fraser som kan ha flera meningar beroende på hur de läses/tolkas).
64
Berätta om preprocessing av text
Preprocessing av text kan delas in i två delar; syntaktiskt och semantiskt. Syntaktiskt: - Filtrering → Text sorteras ut. - Tokenization → Orden separeras ut enskilt från texten och görs om till gemener (små bokstäver) samt att punkter mm tas bort. - Stop word removal → Ta bort vanligt förekommande ord som inte har någon avgörande betydelse för analysen. - Stemming eller lemmatization → Gör om orden till sina minsta beståndsdelar för att kunna jämföra dem rättvist. Lite mer avancerade: - Named entity recognition → Identifiera namn och liknande på verkliga ting. - Sentence structure → Läsa av ordet och närliggande ord för att fånga dess kontext. - Discourse structure → Läsa av på vilket sätt texten är skriven på. Semantiskt: - Innebörd → Göra orden otvetydiga. - Sentiment → Tyda känslor uttryckta i texten. - Identifiera trollz
65
Bag of words approach
Bag of Words tar en text och delar upp varje unikt ord till ett attribut (dimension) samt räknar förekomsten av varje ord i dokumentet. Utifrån detta kan sedan proximitet mätas för att jämföra dokumentvektorer. Här tar man hänsyn till att stoppord (t ex. och, eller, men osv.) är irrelevanta och rensar därför bort dem.
66
Term Frequency – Inverse Document Frequency (TF-IDF)
Ofta vill vi vikta ordens relativa betydelse mot varandra. Detta kan vi göra utifrån hur ofta ordet förekommer; ett ord som förekommer i många olika dokument väger inte lika tungt, medan förekommer ett ord ofta i enbart ett dokument väger det tyngre.
67
Vad menar man med Proximitet, likhet och olikhet?
Likhet, olikhet och proximiteten mellan två objekt är fundamentalt när man ska göra clustering och anomaly detection för att kunna avgöra hur lika eller olika objekt behöver vara för att höra ihop, eller inte. Likhet Likheten mellan två objekt är en numerisk representation av hur lika de är. Således är likheten högre för två objekt som är mer lika varandra. Olikhet Olikheten mellan två objekt är en numerisk representation av hur olika de är. Olikheter är lägre för två objekt som är mer lika varandra. Proximitet (proximity) Proximiteten mellan två objekt beskriver hur lika eller olika de är. Det kan alltså användas både för att mäta likhet och olikhet. Proximitet kan mätas både som nominal, ordinal, interval eller ratio
68
Det finns två sätt att mäta avstånd mellan olika attribut, vilka?
Euclidean och Manhattan distance
69
Euclidean distance
Euclidean mäter det “raka/direkta” avståndet och är känslig för stora skillnader mellan värden vilket därför kräver att attributen är normaliserade/standardiserade så de följer samma skala och inte skiljer sig för mycket.
70
Manhattan distance
Manhattan distance mäter stegvisa avståndet istället för det närmaste avståndet. Denna metod lämpar sig bättre när det är hög dimensionalitet, dvs många attribut/variabler. Används t.ex. främst för Intervall och Ratio som har fasta avstånd. Används även för att jämföra Ordinaldata eftersom de har en betydelsefull intern ordning, d.v.s. skalor med värden som är större, mindre eller lika med, men avstånden inte är fasta. Detta trots att avstånden inte är enhetliga.
71
Cosinus-likhet
Används för att jämföra likheten mellan två vektorer med hjälp av counts (t.ex. word counts), istället för matches som SMC och Jaccard gör, och ignorerar 00-matchningar (dvs false-false). Används t.ex. för att jämföra asymmetrisk data, som frekvensmått (kundkorgsanalys).
72
Simple Matching Coefficient (SMC)
Används på binär data för att se hur många värden i en vektor som matchar varandra. Notera att detta även täcker att båda är false vilket innebär att det inte lämpar sig för att mäta när två attribut uppfylls. Används t.ex. för att jämföra Nominell data (kategorisk) eftersom den inte har någon intern ordning så kan proximiteten endast uttryckas i exakt likhet eller olikhet.
73
Jaccard coefficient
Används precis som SMC för att se vilka värden som matchar varandra, men bortser från när båda värden är false. Kan t ex. vara att man vill se när två kunder har handlat samma vara, då vill man ju inte se när båda inte handlat den utan enbart när båda har handlat den. Används t.ex. för att jämföra Nominell data (kategorisk), som i en kundkorgsanalys där man har asymmetriska variabler, då man inte beaktar “tomma” variabler, dvs. avsaknaden av en vara i båda korgarna.
74
Vad är data exploration?
“Data exploration” är ett sätt att preliminärt undersöka data för att bilda sig en bättre uppfattning av dess olika egenskaper. Det är till stor hjälp när man ska välja ut lämpliga preprocessing och Data Mining metoder och för att identifiera mönster genom att visualisera data med olika tekniker.
75
Det finns två grupper av metoder för data exploration, vilka?
Summary statistics Visualisering
76
Data exploration - Summary Statistics
Summary Statistics är ett sätt att summera en uppsättning egenskaper i en relativt stor mängd data för att kunna kommunicera en stor mängd information på ett enkelt sätt. Ett vardagligt exempel är att beräkna genomsnittsinkomsten för ett hushåll.
77
Data exploration - Visualisering
Metoder för att illustrera och studera egenskaper av data. Det är ett mycket bra hjälpmedel för att underlätta förståelse för data och dess relationer med varandra. Kallas även för Visual Data Mining eller Visual Analytics.
78
Data exploration - Visualisering delas ofta upp i 3 kategorer, vilka?
- Univariate Visar ett enda attribut (t.ex boxplot) - Bivariate Visar relationen mellan två attribut åt gången (histogram, scatterplots) - Multivariate Visar multipla relationer åt gången (t.ex radardiagram, parallell coordinates, MDS)
79
Vad är OLTP?
Online transaktionsbehandling (OLTP) är där informationssystem underlättar och hanterar transaktionsorienterade applikationer, vanligtvis för datainmatning och hämtningstransaktionsbehandling.
80
Egenskaper hos ett OLTP?
➔ Bygger på relationsdatabaser. ➔ 24/7 system (system som är tillgängliga dygnet runt) ➔ Byggde tidigare på en klient/server arkitektur. ◆ Nu för tiden bygger de snarare på webbaserade gränssnitt. ◆ Byts även ut mot Software as a Service/Molnlösningar. ➔ Höga volymer av transaktioner. ➔ Skrivoptimerade system. ◆ Snabbt kunna lägga till eller uppdatera. ◆ Normaliserade tabeller. ● Så lite redundans som möjligt ● Minska antalet fel och inkonsekventa data (avvikelser) ● En uppdatering ska kräva så få insertions som möjligt. (TÄNK 3:e normalformen. We should know this!) ◆ Färre index (rader) och många joins (av olika tabeller).
81
Exempel på OLTP system
- Enterprise Resource Planning (ERP) - Customer Relationship Management (CRM) - Supply Chain Management (SCM applications) - Point-of-Sales (POS system) ○ Kassaapparat system - Automatic Teller Machines (ATM systems) - Call Centers
82
Problem med OLTP System
- Gjord för processering av av transaktioner, inte för att stödja beslutsfattning - Behov av Aggregering, Drill down, Slicing/dicing på data. - Avdelningsorienterad (funktionellt) - Många källor (av data?) - Motsägelsefulla definitioner - Överlappning (Flera system som arbetar med samma saker/data?) - Legacy system - Typ “stovepipe” applikationer, dvs en applikation som opererar som ett ensamstående program (dvs den är separat från andra system vilket blir problematiskt då man ska bygga nya funktioner ovanpå den) - Saknar historisk data (Gammal data ersätt med ny) - Kräver expertis hos användarna. - Framtagning av rapporter (strukturerade outputs) kräver skräddarsydda datorprogram.
83
Datalager (Data Warehousing)
Ett Data Warehouse, även kallat informationslager eller datalager, är en sammanställning av information från flera källor, utförd på ett sådant sätt att det underlättar en avancerad analys av informationen. Sammanställningen har dessutom en sådan struktur, och är försedd med sådana hjälpmedel, att analysen kan utföras utan djupgående IT-kunskaper. Metoder för sökbara Data Warehouses är en del av det vidare begreppet Big Data, som också innefattar datautvinning, det vill säga statistisk dataanalys.
84
Egenskaper av ett Data Warehouse
● Multidimensionella ● Oftast endast en databas ○ Separerat från Operational Systems (system som utför själva beräkningarna och analyserna) ● Håller historisk data ● Glesa uppdateringar ● Lock-free (pga att data inte kommer förändras, därför behöver tillgången inte låsas) ● Läs-optimerad ● Innehåller även meta-data ● Lägre “kostnad per analys” (beräkningskostnad) ● Ligger till grund för Business Intelligence/Analytics
85
Mål med Data Warehouse
Data Warehouse låter organisationer utföra komplexa förfrågningar då tillgången till det är utspritt över flera system. Detta kommer inte påverka transaktionssystem (OLTP) eftersom de är separata system och därför behöver man inte heller utföra multipla joins. Dessutom blir tillgången till informationen i datalagret vara tillgängligt även när parallella förfrågningar görs, eftersom datan i lagret inte förändras.
86
Problem som kan uppstå vid användning av datalager
● Resursintensivt vid inläsning av data. ● Inkompatibla source systems (ifall source systems tillåter null-värden och liknande). ● Nödvändig data fångas inte (vi kanske inte sparar all viktig data). ● Krav bland slutanvändarna ökar (det blir inflation i användandet) ● Data homogenisering ○ Tvingar till sig likheter i datan, på bekostnad av vissa krav. ● Hög efterfrågan på resurser ● Säkerhetsproblem ○ Ägandeskap av data (“alla kommer åt allt”) ○ Web access (man efterfrågar hög tillgänglighet) ● Kräver mycket underhåll. ● Långdragna projekt. ● Komplexitet med integration. ● Kompatibilitet med existerande system. ● Kontroverser kring design av Data Warehouse. ○ Företagets gemensamma Data Warehouse eller Data Marts? Hur ska det vara uppdelat och fungera? ● Kan vara olämpligt för ostrukturerad Big Data.
87
Hur hänger Data Warehouse och Data Mining ihop?
Ett data warehouse tillhandahåller följande (vilket Data Mining drar nytta av): ● En ren och konsekvent källa av data. ● Integrerad data (data från olika källor med likvärdigt format). ● Query access för hämtning av utvald data. ● “Drill-down” för ännu mer data. ● Data Warehouse och Data Marts tillhandahåller data som i bästa fall inte behöver preprocessing, vilket annars är det mest tidskrävande steget vid Data Mining (kräver ibland upp till 80% av tiden för planering).
88
Det finns två konkurrerande filosofier om hur designen ska se ut hos Datalager, vilka?
Enterprise wide warehouse - Top down layout - Also known as: Corporate information factory (CIF) Data mart approach - Bottom up layout - Also known as: Data warehouse bus
89
Enterprise Wide Warehouse
designfilosofi av datalager Börjar med att skapa ett gemensamt företagstäckande Data Warehouse och skapar sedan separata avdelningsspecifika Data Marts. Den har en datadriven approach som är iterativ och grundar sig i själva datan och inte kraven för den. - Data samlas, integreras och testas. - Program är utformade utifrån datan och resultaten analyseras. - Krav formuleras.
90
Nackdelar med Enterprise Wide Warehouses
- Datan är normaliserad och det krävs Data Marts för att lätt kunna komma åt den. - Dyrt och tidskrävande att bygga. - Centraliserad utveckling. - Finns risk för att vissa Data Marts inte används. - Stort åtagande av organisationen (speciellt inom organisationer som är nya till dataanalys) .
91
Data Marts
Är delar av ett Data Warehouse som fungerar som egna avdelningar eller enheter. – Fokuserad kring behoven hos ett specifikt departement inom en organisation.
92
Egenskaper hos Data Marts:
- Ofta summerad data. - Mindre data och mer fokuserad än Data Warehouse. - Fokuserad på slutanvändaren ● Lätta att förstå. ● Underlättar för rapportering och queries. - Oftast separerad från Data Warehouse. ● Har högre åtkomstprestanda. ● Minskar trycket på Data Warehouse. - Innehåller den data som används mest av den specifika avdelningen eller processen. - Vanligt med dimensionell modellering (istället för ER) - Lämpar sig bättre för OLAP - Lätt/flexibel att administrera - Lättare att lägga till nya applikationer med tillgång till data. - Lämpad för prototyp-applikationsutveckling.
93
Fördelar med Data Mart Approach
➔ Enkelt att skapa eftersom den är uppdelad i mindre delar. ➔ Utvecklingen sker uppdelat. ◆ Minskar krav på budgetering. ◆ Skapar möjlighet att lära sig av misstag. ➔ Tydligt definierad användargrupp.
94
Problem med Data Mart Approach
● Risk för överlappning med redundant data som konsekvens. ● Risk för inkonsekvent data. ○ Brist på integration av data. ■ Olika svar från olika avdelningar när man ställer samma fråga. ● Data Marts är byggda utifrån behoven/kraven hos en avdelning ○ Inte i enlighet med hela organisationens krav ■ Olika nivåer av: ➢ Granularitet ➢ Summering ➢ Struktur ➢ Mängd historisk data ■ Skapar problem då det är inkonsekvent ○ Risk att man skapar en “stovepipe” applikation ○ Teknisk skalbarhet, svårt att skala upp.
95
Vad är OLAP?
OLAP är ett Data Warehousing end-user verktyg: - Svarar på mer avancerade queries. - Snabb. - Konsekvent. - Interaktiv. - Iterativ. - Ad hoc queries. - Flera vyer av data. - Multidimensionell analys utan begränsningar av ingångspunkt. OLAP grundar sig i DW och erbjuder snabb tillgång till information för avancerad analys. Man kan ställa queries som försöker besvara “What-if?” och “Why?” och OLAP klarar allt ifrån simpel navigering till komplexa beräkningar och modellering. OLAP representerar multidimensionell data som datakuber där varje sida av kuben är en dimension.
96
NoSQL
Står för Not Only SQL och är ett samlingsnamn för olika databasmodeller som allmänt kallas för “schemalösa” och “icke-relationella”, även om detta inte helt och hållet stämmer. Dvs. avsedd för speciellt för semi-strukturerade data eller ostrukturerade data.
97
Berätta om 4 NoSQL Database Models
Key-Value Databases: Denna typ av databas använder en enkel key/value struktur för att lagra data. Det är en databasmodell som lätt kan skalas upp eller ner och har en mycket flexibel struktur p.g.a. dess simpla struktur. Graph Database: I grafdatabaser lagras alla objekt som noder och bågarna mellan noder representerar relationerna mellan dessa. Det är ett intuitivt och naturligt sätt att modellera relationer men som lätt blir svår att följa och förstå vid mycket stora eller komplicerade databaser med många relationer. Column-store: En databas typ relativt lik vanliga relationsdatabaser men med skillnaden att det är kolumnerna som används för queries snarare än rader, alla nya värden läggs alltså i kolumnerna istället för rader. Är effektivt för att göra attribut-baserade läs-queries vilket leder till att detta är använt inom data warehouses. Dålig på att skriva ut hela rader. Document store: Variant av nyckel-värde databas, där value/värdet är ett dokument. Det räknas som semi-strukturerad data. Kan lagra olika typer av data, dvs dokument med olika format. Saknar dock struktur, vilken data som helst kan föras in vart som helst.
98
De fyra V:na i Big data
Volume Velocity Variety Veracity
99
berätta om volume i big data
Volume har att göra med den mycket stora mängden data som Big Data är involverat med. Mängden data i världen växer exponentiellt och är mycket större än vad den brukade vara. Problem som brukar uppstå vid hantering och analys av stora volymer av data är: - Högre krav på beräkningskraft, tidsåtgång och lagringskapacitet - “Dyra algoritmer” (dvs krävande algoritmer) blir svårare att tillämpa
100
berätta om Velocity i big data
Velocity har att göra med frekvensen av inkommande data som måste bli processerad. Ta Twitter som exempel där flera hundratusen tweets skickas varje minut. Volymen växer i takt med hastigheten för datagenerering vilket påvisar en relation mellan de båda som bör tas i beaktning. Problem med hög velocitet av datagenerering är: - Det blir svårt att hinna med att analysera/bearbeta all den nya datan. - Data kan bli föråldrad snabbare eftersom att ny data skapas i allt högre takt. - Det ställer högre krav på infrastruktur och bandbredd mellan olika system för att hantera en allt större och snabbare ström av ny data. - Det gör att mycket större volymer sparas, vilket resulterar i ett behov av stora lagringsutrymmen.
101
berätta om Variety i big data
Datan som Big Data handskas med kommer i väldigt varierande former. Det är inte längre bara strukturerad data som passar in bra i en traditionell databas, utan data som videofiler, ljudfiler eller stora textfiler. - Datan kan vara både strukturerad, semi-strukturerad och helt ostrukturerad. - Variationer i data ställer nya krav på verktygen som används för förbehandling och analys. - Vissa typer av data är mer krävande vad gäller lagring t.ex video och annan visuell media.
102
berätta om Veracity i big data
Veracity har att göra med datans pålitlighet. Källorna till Big Data kan komma från väldigt många olika ställen, så därför måste pålitligheten av datan testas. - Källorna behöver ständigt kontrolleras för att se till att datan som samlas in håller rätt kvalitet och standard. - Sensorer som används för att mäta någonting kan fungera mer eller mindre korrekt vilket kan leda till noice i form av dataobjekt som egentligen är nonsens. - Utomstående kan med eller utan tillstånd skapa innehåll som framstår som att det kommer ifrån en vanligtvis legitim källa.
103
Utmaningar med Big Data
ålig förståelse och acceptans för Big Data (Insufficient understanding and acceptance of Big Data) Stort utbud av tekniker (Confusing variety of Big Data technologies) Höga kostnader (Paying loads of money) Svår hantering av datakvalitet (Complexity of managing data quality) Farliga säkerhetshål (Dangerous Big Data security holes) Svårt att dra värdefulla slutsatser ur Big Data (Tricky process of converting big data into valuable insights) Svårt att skala upp (Troubles of upscaling)
104
Vad är MapReduce?
MapReduce är ett sätt att hantera Big Data på. Eftersom vi har extremt stora mängder data att jobba med så är MapReduce ett sätt att förenkla hanteringen och fortfarande kunna utföra snabba beräkningar genom att dela upp datamängden och distribuera ut den i mindre mängder till noder som utför själva beräkningarna. Nästan alla Big Data-problem kan bli refaktorerade med MapReduce, vissa är dock mer effektiva än andra.
105
karaktärsdrag för Cloud Computing:
➔ On-demand self-service Användare kan ändra i infrastrukturen utan mänskligt ingripande. Exempelvis kan man själv öka kapaciteten i en kontrollpanel online. ➔ Broad network access Resurserna i molnet är tillgängliga på flera olika typer av enheter. Detta innebär inte bara stationära och bärbara datorer utan även mobiler etc. ➔ Resource pooling Resurserna i molnet kan delas upp och konfigureras på olika sätt. Detta gör det möjligt för flera parter att kunna ta del av användningen. ➔ Rapid elasticity Tjänsterna kan snabbt skalas upp och ned automatiskt utefter behov. ➔ Measured service Resurserna kan enklare mätas och användningen kan begränsas till det som behövs och därmed tas betalt för endast det som används.
106
Cloud Computing ger möjlighet för tjänster som kan erbjudas “as-a-Service”, exempel på detta är:
1. Software as-a-Service (SaaS) Detta innebär att man erbjuder mjukvara som en tjänst istället för att sälja ett enda exemplar av mjukvaran. Exempel på detta är Office 365, Gmail eller Google Drive. 2. Infrastucture as-a-Service (IaaS) Detta innebär att man erbjuder en hel infrastruktur som en tjänst med Processorkraft, Minne, Lagring, Nätverk, Brandväggar etc. Exempel på detta är Amazon AWS, Microsoft Azure och Google Compute Engine. 3. Platform as-a-Service (PaaS) Detta är någonting mitt emellan de två ovanstående där användaren själv sätter ihop programvara med hjälp av verktyg och bibliotek från leverantören. Användaren styr även själv över driftsättning och konfigurering.
107
Prediktiv modellering kan delas upp i?
klassificering och regression
108
Klassificering
Klassificering innebär att man sätter värden på fördefinierade eller nya klasser utifrån tidigare kända attribut. Baserat på fall med kända outputs kan man skapa en modell som korrekt kan klassificera utfall som man inte tidigare sett.
109
Regression
Till skillnad från klassificering så vill man med regression uppskatta ett numeriskt värde och använder sig ofta av statistiska metoder. Det kallas även för “value prediction”. Exempel på användningsområden av regression: - Förutspå försäljning - Riskbedömning - Förutsäga aktiemarknaden - Väderprognos
110
Vad är Black Box och White Box
T.ex. en prediktionsmodell av varianten ANN (Artificial Neural Network) är en typ av black box-modell. Det innebär att det går inte att nå en insikt i hur prediktionen uppnås genom att studera hur modellen är uppbyggd. Det går inte att få ett svar till varför modellen kommer fram till sin prediktion. Ett exempel på en prediktionsmodell av typen white box är beslutsträd. Det går att studera modellens uppbyggnad för att se hur den kommer fram till sin prediktion. Det går alltså att utvinna en insikt i hur ett resultat genereras.
111
När man utvärderar resultat så mäter man?
Accuracy och Error rates
112
Vid utvärdering av resultat från klassificering kan man få fyra olika potentiella utfall, dessa är:
Fel (Errors): False Positive (FP): Ett exempel klassificeras inkorrekt som positivt. Detta kallas Type 1 error. T.ex. modellen förutsäger att en transaktion är ett bedrägeriförsök som i själva verket inte är det. False Negative (FN): Ett exempel klassificeras inkorrekt som negativt. Detta kallas Type 2 error. T.ex. modellen förutsäger att en transaktion är normal (harmlös) men i själva verket är ett bedrägeriförsök. Rätt: True Positive (TP): Ett exempel klassificeras korrekt som positivt. T.ex. modellen förutsäger att en transaktion är ett bedrägeriförsök och som faktiskt är det. True Negative (TN): Ett exempel klassificeras korrekt som negativt. T.ex. modellen förutsäger att en transaktion är normal (harmlös) och faktiskt är det.
113
Överträning (overfitting)
Inlärning av konstiga och falska mönster på grund av brus eller uteliggare i träningsdatan. Kan även bero på avsaknaden av representabla delar i träningsdatan, alltså att datan har för få “cases” att lära sig av. För att undvika överträning bör man ha välputsad data med tillräckligt många representativa fall som algoritmen kan tränas utifrån
114
Vad är klustring?
Klustring är ett sätt att gruppera ett set av objekt tillsammans på ett sådant sätt att objekten inom varje grupp är mer lika varandra än i andra grupper. Detta är en huvudsaklig Core Task inom exploratory Data Mining. Klustring kan genomföras på olika sätt, vilket nämns under Metoder. Kluster byggs upp på antingen genom kortaste avstånd mellan objekt, områden med högre densitet, intervall eller andra statistiska fördelningar
115
Associationsanalys
När man utför en associationsanalys så försöker man hitta mönster som beskriver starkt associerade attribut i ett dataset av t.ex transaktioner. Identifierade mönster representeras som implicerande regler (t ex. Blöjor implicerar Öl). Målet med analysen är att hitta dessa mönster på ett så effektivt sätt som möjligt även om det finns många olika (tomma) attribut. Denna typ av metod är användbar till att hitta köpmönster mellan olika produkter eller hitta mönster mellan webbsidor som besöks tillsammans (typ C# dokumentation och stackoverflow ^_^).
116
Associationsanalys använder sig av 3 måttenheter, vilka?
Support Mått för styrkan av relationen. Denna mätning är viktig för att avgöra om relationen är slumpmässig eller om det är återkommande (dvs ett mönster). Confidence Mått för hur ofta ett attribut Y förekommer i transaktioner som innehåller X. Denna mätning är viktig för att bedöma hur pålitligt ett mönster är Lift Problemet med Confidence är att den inte tar konsekventen (Consequent) i beaktning, Alltså Blöjor → Öl kan ha ett väldigt högt confidence värde men om Öl förekommer i många transaktioner så är den implicerande regeln svagare än vad man kan tro. Ett liftvärde av 1 skulle implicera statistiskt oberoende vilket innebär att ingen regel kan härledas ur mönstret. Om Lift > 1 så är det en positiv korrelering dvs. mönstret är giltigt och en regel kan härledas ur den. Motsatsen gäller för Lift < 1.
117
Avvikelseanalys
Avvikelseanalys handlar om att hitta värden som avviker betydelsefullt från andra värden (s.k. anomalier). Anomalier utgör ofta en mycket liten del av datasetet och måste därför balanseras t.ex. genom överrepresentation i träningssetet. Anomalier kan bero på många olika saker, t.ex. speciellt stora inkomster eller extremt hög ålder. Exempel på tillämpningar inkluderar spårning av bedrägerier, processövervakning, väderanalys, nätverksövervakning, osv. Lägg märke till att anomalier kan vara både positiva och negativa. T.ex. superhögt IQ eller superlågt IQ.
118
Övervakad avvikelseanalys
Metoder för övervakad avvikelseanalys kräver ett träningsset med både avvikande och normala objekt (tänk på att det kan finnas flera än en normal eller avvikande klass). Det finns vissa metoder som kan motverka den obalans av normala och avvikande träningsdata som kan uppstå, men inget vi går in på djupare här.
119
Oövervakad avvikelseanalys
I många praktiska situationer så finns inga klasser fördefinierade. Då måste varje observerad instans istället tilldelas ett värde/ranking som avspeglar i vilken mån det är en anomali. Skulle det vara många liknande anomalier så kan de råkas klassas som normala eller ha ett lågt uteliggare värde. Så för att oövervakad avvikelseanalys ska lyckas måste anomalier vara distinkta från varandra och även från normala objekt.
120
Modellbaserad avvikelseanalys
Många avvikelseanalystekniker bygger först en modell av datan för att kunna hitta avvikelser. Anomalier/avvikelser är då objekt som inte passar modellen så bra. T.ex. en vektor/objekt som ligger långt utanför ett kluster eller vid regression ett värde som ligger långt ifrån det predikerade. Dessa kan då klassificeras som ‘onormala’ i skillnad till de andra objekten som kan klassas ‘normala’. Dock kan det vara svårt att bygga dessa modeller om den statistiska distributionen av datan är okänd eller att ingen träningsdata är tillgänglig.
121
Proximitetsbaserad avvikelseanalys
Många avvikelseanalys-tekniker är baserade på proximitet. Avvikande objekt är sådana som är långt ifrån de flesta andra objekten. När datan kan presenteras som två- eller tredimensionella ‘scatter-plots’ då kan distansavvikande uteliggare (outliers) upptäckas visuellt genom att titta efter punkter som är separerade från de flesta andra.
122
Densitetsbaserad avvikelseanalys
Uppskattningen av densiteten av objekt är ganska enkel att beräkna särskilt om proximitetsmått mellan objekten finns. Objekt som befinner sig i en region med låg densitet i förhållande till sina grannar kan anses vara avvikande. Mer sofistikerade tillvägagångssätt tar med i beräkningarna att vissa dataset kan ha regioner med väldigt varierande densitet sid 55 av 72 och således klassificeras endast en punkt om lokal densitet som är mycket lägre än dess grannar.
123
Vad menas med en övervakade (supervised) metod?
En övervakad metod har grupperingar/målgrupper definierade innan, dvs vi vet vilka vi vill ha. Den tränas att hitta mönster som leder till ett specifikt utfall, baserat på exempel (historisk data). Detta kan exempelvis vara kreditvärdighet eller prediktion av ränta.
124
Vad menas med en oövervakade (unsupervised) metod?
En oövervakad metod har inga grupperingar/målgrupper definierade innan utan lär sig hitta mönster och skapar nya grupper utifrån dessa. Detta kan exempelvis vara kundsegmentering eller kundkorgsanalys.
125
Linjär regression [Regression]
Linjär regression innebär att man drar en rak linje genom en plot av data. Det går även att göra kurviga linjer med hjälp av polynomfunktioner. Går att utföra på olika sätt, beroende på fel-estimering. Syfte: Hittar den bästa representationen i bivariat data. Fördelar: - Lätt att använda. - Beräkningsmässigt effektiv. Nackdelar: - Fungerar inte på icke-linjär data. - Känslig mot uteliggare.
126
Regelbaserade klassificerare [Klassificering]
Regelbaserade klassificerare är metoder som klassificerar objekt/records med hjälp av “if.. then..” regler. Exempel på hur regler kan formuleras är: (Gives Birth = no) ⋀ (Aerial Creature = yes) → Birds ➔ Vänstersidan av regeln kallas för rule antecedent eller precondition och består av konjunktioner av olika “test” för attributet. ➔ Högersidan av regeln kallas för rule consequent. Regeln triggas när precondition matchar ett record. sid 57 av 72 Man kan mäta kvaliteten av klassificeringen genom måtten coverage och accuracy.
127
Naiv bayesiansk klassificerare [Klassificering]
Bayesianska klassificerare är en samling av klassifikationsalgoritmer. De delar en gemensam princip, att varje attribut (feature) som klassificeras är fristående från värdet av något annat attribut. Låt säga att en frukt ses som ett äpple om det har attributen (röd, rund, 10 cm), varje attribut bidrar till sannolikheten att det är ett äpple utan att ta hänsyn till varandra. Det är både algoritmens styrka och svaghet och även varför den kallas naiv. Dessa algoritmer är relativ lätta att förstå och bygga. Lätta att träna, snabb och inte känslig mot irrelevanta attribut. Som sagt dess största svaghet är just att den antar att alla attribut är självständiga.
128
Beslutsträd (Decision Trees)
Beslutsträd är en white-box approach till klassificering. Ett träd består av tre olika typer av noder; en ingångsnod (rotnod), mellannoder och sist terminalnoder. Ingångsnoden är roten där trädet startar och all data matas in. Varje mellannod innehåller därefter en attributfråga där varje passande data testas mot ett villkor. Om svaret på frågan är “ja” skickas datan en väg om svaret på frågan är “nej” så skickas datan en annan väg. (Frågorna kan även vara ställda efter t.ex. intervall.) Detta återupprepas tills datan når en terminalnod som innehåller en klassificering som tilldelas datat. Fördelar: - Kan använda både diskreta och kontinuerliga värden, t.ex. booleska värden eller värden i intervall. - Tåliga mot störande data (uteliggare, brus) eftersom decision trees alltid tittar på det viktigaste av flera värden samtidigt, därför spelar inte varje enskilt värde någon större roll i sig. - Krävs inte så mycket preprocessing (t.ex. skalning och normalisering). - Inte så krävande att räkna ut. - Lätt att förstå eftersom logiken är explicit (White-box). Nackdelar: - Känslig mot stora mängder av irrelevanta attribut då det ökar risken för överträning, därför är det viktigt att välja ut de viktigaste attributen (feature subset selection) under preprocessing. - Träd kan bli komplexa vilket resulterar i att irrelevanta samband växer fram. - Kan börja skapa likadana subtrees på båda sidor (tree replication). - Problematiskt med representation av komplexa relationer. - Viktigt att trimma trädet (pruning), alltså begränsa det i antal nivåer eller ta bort noder som “går för långt” eller “för djupt” då dessa kan leda till överträning. - Är mindre akkurat i jämförelse med andra metoder (t.ex. ANNs och SVMs) Ett problem som kan uppstå med beslutsträd är överträning.
129
Artificial Neural Network - ANN [Klassificering & Regression]
Ett neuronnätverk är uppbyggt av artificiella noder, s.k. “neurons”, med kopplingar mellan sig. Varje koppling får en vikt som sedan används för att jämföra vilka kopplingar som “väger tyngst” och där påverkar utfallet. Vikten på dessa justeras och processen av att anpassa vikterna itereras igenom och pågår ända tills modellen får ett så korrekt utfall som möjligt. Fördelar: - Kan lära sig komplexa samband och mönster tack vare viktningarna och sin avancerade Backpropagation algoritm. - Kan hantera icke-linjär data. - Kan hantera redundanta attribut, den lär sig hur viktigt varje attribut är genom viktning. Nackdelar: - Väldigt känslig för överträning (overfitting) - Ju fler lager, desto högre är risken - Saknade värden måste räknas ut eller så måste hela objektet/raden tas bort - Känsligt för noise eftersom den utför så avancerade beräkningar kommer alla detaljer att tas med i beräkning och påverka utfallet. - Ju mer komplexa nätverk, desto mer data krävs och desto längre tid tar det att träna upp nätverket. Viktiga kännetecken: ➔ Kan utföra väldigt avancerade beräkningar. (The shit inom AI) ➔ Måste vara supervised men är black-boxed. ➔ Datan behöver vara ordentligt pre-processed och inte innehålla för mycket brus då detta kan leda till vilseledande resultat. ➔ Tar lång tid att träna upp. (Noggrannhet VS. Snabbhet)
130
Support Vector Machine - SVM [Klassificering & Regression]
Support Vector Machine bygger på att man delar upp två klasser med en linjär avdelare, kallat hyperplane, som avdelar klasserna från varandra. För att hitta den bästa platsen för skapar så stor marginal som möjligt mellan klasserna. Datan behöver inte enbart vara endimensionell utan SVM kan hantera flera dimensioner av data genom att användning av ett kernel-trick. Fördelar: - Är avsevärt mycket mindre känsligt för overfitting/överträning än de flesta andra metoderna för klassificering. - Är inte känsligt för dimensioner, utan kan hantera stort antal dimensioner och små dataset. - Kan lära sig både enkla och komplexa samband. - Kan hantera både linjär och ickelinjär data. - Kan användas både för klassificering och regression. - Support vectors kan användas för att klassificera nya objekt utan att behöva allt (som t.ex. k-nearest neighbor). Detta eftersom den har tydlig avgränsning mellan klasserna och beroende på vilken sida av denna det nya objektet hamnar tilldelas den rätt klass. Nackdelar: - Tar lång tid att träna med stora dataset. - Kan få överlappande klasser. - Kan bli datormässigt krävande vid tillämpning av kernel-tricks. Viktiga kännetecken: ➔ Kan hantera flera dimensioner och därmed mer resistent mot curse of dimensionality och har lätt för att klassificera nya objekt. ➔ Den är inte speciellt känslig mot överträning men kan däremot få överlappande klasser (tvärtemot ANN). sid 61 av 72 ➔ Fungerar bäst med kontinuerlig data och kräver konvertering till binära attribut vid hantering av nominal eller ordinal data. ➔ Kan hantera små dataset.
131
(K) Nearest-Neighbor [Klassificering]
(K) Nearest neighbour bygger på instansbaserat lärande, vilket innebär att den använder sig av prototypbaserad matchning för att göra sin klassificering. Den klassificerar datan genom att hitta den mest lika datan från redan kända utfall. Detta genom att använda sig av Euclidean distance function eller Jaccard’s coefficient. K refererar till hur många närmsta grannar den ska jämföras mot och väljer klassificeringen av dessa. Denna metod är nära relaterad till klustring och är väldigt intuitivt lätt att förstå. ”If it walks like a duck, quacks like a duck, and looks like a duck, then it’s probably a duck.” Fördelar: - Enkel då den inte behöver uppskatta någon modell. Nackdelar: - Beräkningsmässigt kostsam eftersom man behöver beräkna proximiteten för alla värden vid testning för att kunna ta reda på vilken som är närmast. - Kan lätt påverkas av brus eftersom man bara tittar på ett fåtal närmsta värden, skulle då detta eller dessa vara någon form av brus så blir resultatet direkt felaktigt. - Skalning av variabler är viktigt för att kunna mäta korrekt avstånd mellan dem. Mäts de på olika skalor kan avståndet bli missvisande. - Kan drabbas av “Curse of dimensionality” eftersom ju fler dimensioner det finns desto tyngre blir det att beräkna avståndet. - Evalueringen kan vara något osäker eftersom man lätt kan tycka att det “verkar rimligt”.
132
K-means [Klusteranalys]
Detta är en prototypbaserad, partitionell klustringsmetod som används för att försöka hitta ett användardefinierat antal kluster (K) som representeras med dess “Centroids”. Först beräknas ett medelvärde (Centroid) för varje kluster (och detta görs sedan för varje iteration av processen). Därefter tilldelas varje punkt ett kluster baserat på dess proximitet (avstånd) till medelvärdet (Centroiden). Detta upprepas tills dess att ingen punkt flyttas från ett kluster till ett annat och Centoiderna inte längre förflyttas. Fördelar: - Beräkningsmässigt effektivt i jämförelse med Hierarkisk klustring (Om k är liten). - Enkel och välkänd metod. - Kan användas för ett brett spektrum av datatyper Nackdelar: - Definitionen av K är viktig. - Kan producera tomma kluster, t.ex. om du valt K som är större än antal datapunkter eller valt ett dåligt ursprungsläge för centroiderna. Kan lösas genom att tvinga utgånspunkterna för centroiderna att vara faktiska datapunkter - Problematik vid detektering av vissa typer kluster t.ex kluster med ovanliga former. - Känsligt för uteliggare vid användning av SSE, kräver preprocessing. Viktiga kännetecken: ➔ Kan endast använda sig av numerisk data, eftersom den i varje iteration räknar ut ett genomsnitt för att placera ut den nya centroiden. Det går t.ex. inte att räkna ut ett genomsnitt på nominal data. ➔ Datan behöver vara normaliserad till samma skala för att kunna mäta avstånden mellan datapunkterna korrekt. ➔ I jämförelse med andra klustringsalgoritmer så är den snabb och effektiv. ➔ Det är svårt att veta vad K ska vara (hur många kluster man vill hitta). Det kan beräknas med hjälp av “elbow-method”. ➔ Det är även svårt att veta hur många gånger algoritmen ska iterera.
133
Hierarkisk kluster proximitet [Klusteranalys
Hierarkiska kluster är kluster som skapas i flera steg och bygger upp olika nivåer eller hierarkier av kluster. Algoritmen utgår ifrån att varje datapunkt är ett eget kluster och slår sedan ihop kluster 1+1 med sitt närmaste kluster. Detta itereras igenom tills alla kluster har blivit ett enda stort kluster. Hierarkisk klustring kan sedan översättas till Dendrogram (motsvarande binary trees), vilket man sedan kan dela med hjälp av en horisontell linje för att välja ut vilka kluster (klasser) man vill få ut. Avståndet mellan olika kluster kan mätas på olika sätt, men ett vanligt sätt är Euclidean distance. Varifrån inom varje kluster avståndet ska mätas ifrån kan väljas på 4 olika sätt och beskrivs nedan: Single Link: Proximiteten mellan de två närmaste vektorerna i olika kluster. Complete Link: Proximiteten mellan de två mest avlägsna vektorerna i olika kluster. Group Average: Den genomsnittliga proximiteten mellan alla vektorer i olika kluster. Centroid-based: Proximiteten mellan olika klusters centroid. En centroid är vektor som är ett genomsnitt av alla andra vektorer i klustret.
134
DBSCAN [Klusteranalys]
DBSCAN är en simpel och effektiv densitetsbaserad klustringalgoritm där alla objekt/punkter definieras som antingen core points, border points eller noise points. DBSCAN är bra på att hitta kluster med olika form och på att sålla bort uteliggare. Dess svaghet är dess parameterinställningar Eps och MinPts (se under core point). Är dess MinPts för hög kan den missa kluster med lägre densitet. Om dess område (Eps) är för stort kan den slå samman kluster som annars skulle vara separata.
135
Apriori [Associationsanalys]
Apriori-algoritmen är en metod för associationsanalys som görs i två steg 1. Frequent itemset generation 2. Rule generation