DATA MINING! Hitta dolda mönster i stora mängder data!! Johan Rittfeldt

Relevanta dokument
Upplägg. Binära träd. Träd. Binära träd. Binära träd. Antal löv på ett träd. Binära träd (9) Binära sökträd (10.1)

Regression med Genetiska Algoritmer

Tentamen, Algoritmer och datastrukturer

Ett generellt träd är. Antingen det tomma trädet, eller en rekursiv struktur: rot /. \ /... \ t1... tn

Case-based resoning. och dess användning inom sjukvården. Linköpings universitet Artificiell intelligens II 729G11 HT 2011

Data mining. Ett analysverktyg för att upptäcka mönster i stora mängder data. Linköpings universitet Artificiell intelligens II 729G11 HT 2010

Tentamen TEN1 HI

Översikt. Stegvis förfining. Stegvis förfining. Dekomposition. Algoritmer. Metod för att skapa ett program från ett analyserat problem

Optimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts.

Optimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or.

Lösningar Datastrukturer TDA

Grundläggande logik och modellteori

Frågeoptimering. Frågeoptimering kapitel 14

Tabeller. Programkonstruktion. Moment 8 Om abstrakta datatyper och binära sökträd. Implementering av tabellen. Operationer på tabellen

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU

TDDI16 Datastrukturer och algoritmer. Prioritetsköer, heapar, Union/Find

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

de var svåra att implementera och var väldigt ineffektiva.

Föreläsning Datastrukturer (DAT036)

Föreläsning 9 Innehåll

Rapport från Praktik på SVOX AG till

Trädstrukturer och grafer

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret Lektion 4

Sökning och sortering

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 9 juni 2016, kl 14 18

Tentamen Datastrukturer D DAT 036/INN960

Träd och koder. Anders Björner KTH

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT Lars Larsson Algoritmer 1

Informationsteknologi Tom Smedsaas 19 augusti 2016

Inlämningsuppgiften. Föreläsning 9 Innehåll. Träd. Datastrukturer i kursen

Programmeringsmetodik DV1 Programkonstruktion 1. Moment 8 Om abstrakta datatyper och binära sökträd

Föreläsning 10 Innehåll. Prioritetsköer och heapar. ADT Prioritetskö. Interface för Prioritetskö. Exempel på vad du ska kunna

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret Lektion 1

Ekvivalensrelationer

Teoretisk del. Facit Tentamen TDDC kl (6) 1. (6p) "Snabba frågor" Alla svar motiveras väl.

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

Probabilistisk logik 2

Föreläsning 13. Träd

Mångdubbla din försäljning med målsökande marknadsföring

Artificiell Intelligens den nya superkraften

Algoritmer, datastrukturer och komplexitet

Mälardalens högskola

ADT Prioritetskö. Föreläsning 13 Innehåll. Prioritetskö vs FIFO-kö. Prioritetskö Exempel på användning. Prioritetsköer och heapar

Föreläsning 9 Innehåll

Ett urval D/A- och A/D-omvandlare

Linjärt minne. Sammanhängande minne är ej flexibelt. Effektivt

Övningshäfte 2: Induktion och rekursion

Fallbaserat resonerande

3. Toppkvinnor på hög Låt lådan och de två kvinnornas famnar utgöra stackarna L, K1 respektive K2. Från början finns alla kort i L.

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl

EKG-klassificering. Andreas Bergkvist, Michael Sörnell,

Binära sökträd. Seminarium 9 Binära sökträd Innehåll. Traversering av binära sökträd. Binära sökträd Definition. Exempel på vad du ska kunna

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

Algoritmer, datastrukturer och komplexitet

Högskolebiblioteket vid Mälardalens högskola

Bedömningsanvisningar

Datastrukturer och Algoritmer D0041D

Föreläsning 9 Datastrukturer (DAT037)

Denna Sekretesspolicy gäller endast för webbsidor som direkt länkar till denna policy när du klickar på "Sekretesspolicy" längst ner på webbsidorna.

Källkodning. Egenskaper hos koder. Några exempel

Teoretisk del. Facit Tentamen TDDC (6)

DD1350 Logik för dataloger. Vad är logik?

Rapport (1,5 HP) Lunds Universitet HT15

Programkonstruktion och. Datastrukturer

Facit Tentamen TDDC (7)

Föreläsning 4 Datastrukturer (DAT037)

Vindkraft och ML. - hur kan vindkraft dra nytta avml

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

MinMax Algoritmen Implementation och optimering. Joakim Östlund 15 juni 2004

Datastrukturer i kursen. Föreläsning 8 Innehåll. Träd rekursiv definition. Träd

NODA Smart Heat Building. Hur funkar det? - En teknisk översikt

Föreläsning 9: NP-fullständighet

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

JavaRats. Kravspecifikation. Version 1.1. Gustav Skoglund Marcus Widblom Senast ändrad: 13 / 05 / 08

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Sekantmetoden Beräkningsmatematik TANA21 Linköpings universitet Caroline Cornelius, Anja Hellander Ht 2018

Omtentamen i DV & TDV

Datastrukturer. föreläsning 10. Maps 1

Ännu mera träd: 2-3-träd, B-träd, rödsvarta träd, träd Weiss, avsnitt 4.7, 11.5, 12.2, etc.

if (n==null) { return null; } else { return new Node(n.data, copy(n.next));

Digital strategi för Miljöpartiet

Tentamen Datastrukturer, DAT037 (DAT036)

Precis som var fallet med förra artikeln, Geogebra för de yngre i Nämnaren

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler

Tentamen Marco Kuhlmann

Övningen vill visa på vikten av valet av datastruktur, trots att de ofta erbjuder samma funktionalitet genom sina gränssnitt.

HYBRIDMODELLER FÖR PREDIKTIV

Här är två korta exempel på situationer då vi tillämpar den distributiva lagen:

Ledtidsanpassa standardavvikelser för efterfrågevariationer

Algoritmer och maskininlärning

Tentamen: Programutveckling ht 2015

Tentamen Datastrukturer D DAT 036/INN960

Självbalanserande träd AVL-träd. Koffman & Wolfgang kapitel 9, avsnitt 1 2

Lokal pedagogisk planering i matematik för årskurs 9

Vinjetter TDDC91 Datastrukturer och algoritmer

Föreläsning Datastrukturer (DAT036)

Vad behövs för att skapa en tillståndsrymd?

Kapitel 4. Scanlon tar också upp problemet om moralens omfång d.v.s. frågan om vilka varelser som vi har moraliska skyldigheter mot.

Transkript:

DATA MINING Hitta dolda mönster i stora mängder data Johan Rittfeldt

INNEHÅLLSFÖRTECKNING Introduktion... 1 Omfång... 1 Data Mining... 2 Definition... 2 Bakgrund... 2 Användningsområden... 2 Knowlede discovery... 3 Data mining med ID3 och C4.5... 4 Utveckling av algoritmen... 4 Konstruktion av beslutsträd... 5 Numeriska attribut... 10 Uteblivna värden... 11 Beskärning... 12 Slutord... 13 Referenser... 14

Introduktion Fångade i en tidsera där allt lagras digitalt finns en expanderande marknad för allt större databaser då fler människor kopplas upp och var individ tycks generera allt mer data. Ny data skapas i samband med att vi upprättar medlemskonto på en webbplats, handlar på kreditkortet, ringer med telefonen eller kanske tittar på videoklipp på youtube. Lagringsdensiteten på hårddiskarna ökar i takt med att priset reduceras, och nya lagringstekniker banar väg för nya produkter och användningsområden som ytterligare bidrar till en allt större mängd data. Men vad ska vi med all information till? Många företag har fått upp ögonen för den ekonomiska aspekten med data mining. I dessa enorma mängder data ligger nämligen vanor, beteenden, mönster och indikatorer på våra intressen. Att kunna extrahera användbar information av sådan typ är viktigt för många företag som strävar efter ett högre kundfokus på en konkurrensstark marknad. Givetvis är det också andra användningsområden än rent ekonomiska, det kan handla om att ställa medicinska prognoser eller som beslutshjälp vid produktdesign (Bramer, 2007). Det är inget nytt med att söka efter mönster. Det ligger i människans natur och är något vi gjort sedan urminnes tider. Jägare söker mönster i djurens vandringsbeteende, bönder efter grödornas påverkas av olika faktorer, politiker i opinionssiffror och älskare i sin partners respons. Vad som är nytt är ökade möjligheter för att hitta mönster i en allt mer komplex värld som i det närmsta svämmar över i data. Men i takt med att databaserna sväller ökar också möjligheterna för data mining där det blir det enda hoppet för att lyfta fram dolda mönster. Omfång Avsikten med uppsatsen är att ge en inblick i vad data mining innebär, dess nytta, hur det fungerar samt ge en djupare förklaring hur algoritmen ID3 är konstruerad och hur den skiljer sig mot senare versioner som C4.5. 1

Data Mining Definition Data Mining definieras som processen att upptäcka mönster i data. Processen måste vara automatisk eller (mer vanligtvis) semiautomatisk. Mönstren måste vara meningsfulla på så sätt att de leder till en fördel. Denna är ofta av ekonomisk karaktär, antingen direkt eller indirekt. Datan består undantagslöst av omfattande kvantiteter (Cox, 2008; Ian Witten 2011). Det finns två ytterligheter för hur mönster kan uttryckas; prediktivt eller deskriptivt. Vad som skiljer dem åt är framför allt huruvida beslutsstrukturen kan undersökas och resoneras kring i syfte av framtida beslut. Riktad data mining är en top-down strategi som används när man vet vad man söker efter. Den är i regel av prediktivt slag, där man vet exakt vad man önskar förutspå. Oriktad data mining är omvänt en bottom-up-strategi där man låter datan tala för sig själv. Modellen hittar mönster i datan och det är upp till användaren att avgöra om mönstren är av någon vikt (Berry & Linoff, 2000). Bakgrund Data mining började utvecklas redan på 1980-talet, men det var en långsamtgående process och under 90-talet var principen fortfarande objekt för definiering och förfining (Matthew North, 2012). Första boken om data mining skrevs 1991 av Piatetsky-Shapiro and Frawley. Men även om begreppet myntades på 90-talet så härstammar tekniken från andra områden, varav vissa är betydligt äldre. Data mining har rötter från framför allt klassisk statistik, artificiell intelligens och maskininlärning. Inom data mining används exempelvis statistiska metoder så som regressionsanalys, standardavvikelse standarddistribution, konfidensintervall med flera. Detta i syfte att studera relationer i datan. Användningsområden Sökandet efter mönster kan handla om att man önskar kunna exponera kunder för reklam som är anpassade till sin profil, ställa finansiella prognoser eller förutspå antal tv-tittare för 2

ett program. Men det är andra fördelar än bara direkt ekonomiska. Det kan handla om medicinska prognoser som att förutspå risken för återfall av bröstcancer eller att upptäcka kortbedrägerier och mycket annat (Bramer, 2007). Knowlede discovery Knowledge Discovery in Databases och data mining används ibland synonymt. Enligt Bramer (2007) kan KDD definieras som icke-trivial extrahering av tidigare okänd implicit och potentiellt användbar information från data. Data mining är här bara en del i processen, om så en central sådan, och kan ses som en applikation där en specifik algoritm extraherar mönster baserad på KDD-processens övergripande mål. Figur 1. Knowledge Discovery process Figur 1 visar ett typiskt flödesschema för hur knowledge discovery processen kan se ut. Data samlas in från diverse källor. Det kan exempelvis vara från marknadsavdelningen, försäljning eller externa källor. Ofta kommer informationen i olika format och integreras därför till ett enhetligt standardformat som gör den direkt jämförbar. Sedan flyttas datan över till en permanent lagringsplats, en så kallad data store - ofta mer benämnt som data warehouse. Datan kan här vid behov delas in i data marts/sub-avdelning i syfte att öka prestanda och förenkla användandet beroende på vilken domän man vill applicera den på. Det är framförallt när databaserna börjar svälla och bli allt mer komplexa som data marts blir aktuella (Wikipedia, data mining). I nästa steg i processen väljs aktuell data för analys 3

ut och anpassas till format hanterbart av data mining algoritmerna. Outputen producerar regler eller andra sorts mönster som så tolkas för knowledge discovery - det vill säga potentiell användbar och ny kunskap Data mining med ID3 och C4.5 Utveckling av algoritmen Några år efter sin doktorsexamen i datavetenskap startade Ross Quinlan på tidigt 1970-tal arbeta på ett program för beslutsträd. Först ut var ett enkelt system ID3 (Iterative Dichotomiser 3) som bäst hanterade attribut med nominalvärden. Arbetet pågick i två decennier och har sedemera resulterat i algoritmen C4.5 som släpptes öppet komplett med källkod och beskrivning i början av 90-talet. Vad denna klarade som ID3 inte var kapabel till var främst numeriska attribut, uteblivna värden och beskärning av beslutsträd. Den sistnämnda syftar till att åtgärda problemet med att testdata ofta producerar klassificerare som passar testdatan för tight och alltså generaliserar dåligt. För att algoritmen skulle vara användbar på riktig data så var dessa tre krav ett måste. C4.5-algoritmen med sina varianter är idag en av de mest vanligen förekommande inom data mining. Senare versioner som C5.0 har blivit en kommersiell produkt. C5.0 liksom C4.5 tycks båda producera högst likartade resultat, men fokus vid utvecklingen till den senare versionen har framför allt varit kring prestanda för att snabba upp systemet och göra det mer minneseffektivt med hjälp av olika tekniker. Enligt RuleQuest (2012) ska den även klara producera avsevärt mindre träd. Flera varianter av C4.5 finns idag på marknaden, så som exempelvis J4.8 som är data mining-programmet Wekas implementation av algoritmen. Den bygger på den sista öppna versionen C4.8 revision 8 innan den kommersiella versionen släpptes. J:et i namnet kommer från att den är skriven i Java, och finns därmed tillgänglig för alla vanliga plattformar idag (Hwitten, 2011). 4

Konstruktion av beslutsträd Metoden är beskriven utifrån Witten (2011) och går till enligt följande princip. Först väljs ett attribut att placera som rotnod, sen förgrenas vart enskild möjligt värde. Därefter upprepas processen rekursivt för var gren med endast de instanserna som når den aktuella grenen. Om vid något tillfälle alla instanser har samma klassificering vid en nod så slutar utvecklingen av den delen av trädet. Det som återstår nu är att avgöra vilket attribut som ska splittas utifrån givet set av olika klasser. Nedan presenteras exempeldata där olika väderfaktorer (attribut) avgör huruvida det blir någon lek eller inte. Tabell 1. Weather Data 5

Figur 2. Stubbar för weather data: (a) outlook, (b) temprature, (c) humidity och (d) windy. Figur 2 visar resultatet, antal yes och no, av en splitt för respektive attribut. De löven som bara innehåller en klass, det vill säga bara yes eller bara no i väderexemplet kommer inte splittas vidare och den rekursiva processen upphör vidare ner i grenen. Löv med bara en klass är vad man eftersträvar eftersom det resulterar i renare noder som alltså resulterar i högre precision i beslutsträdet. Denna renhet är vad man räknar på för att välja det attribut som producerar renast subnoder. Måttsenheten för renheten kallas för information anges i 6

bits - ej att förväxla med minnesenheten bit(s) för datorer som bara kan ha ett av två värden, vanligen 1 eller 0. Var nod associeras med en den mängd information som skulle krävas för att klassificera en ny instans som yes eller no, förutsatt att instansen förgrenar sig ner till den noden. Beräkningen startar med att respektive klasser [yes, no] summeras per lövnod. I Figur 2(a) resulterar det i: [2, 3], [4, 0] samt [3, 2]. Informationsvärdet beräknas utifrån formeln för entropi. entropy(p1, p2,, pn) = p1 log p1 p2 log p2 pn log pn info([2, 3]) = entropi(2/5, 3/5) info([2,3]) = 2/5 log2/5 3/5 log3/5 = 0.971bits info([2, 3]) = 0.971 bits - Sedan samma beräkning för de andra lövnoderna: info([4, 0]) = 0.0 bits info([3, 2]) = 0.971 bits - Om antingen yes eller no är noll, så blir informationen noll. Nästa steg är att beräkna ett snitt på informationsvärdet av dessa. Det snittet representerar den mängd information som förväntas krävas för att specificera klassen av en ny instans, givet strukturen man utgår från. snitt info([2, 3], [4, 0], [3, 2]) = (5/14) 0.971 + (4/14) 0 + (5/14) 0.971 = 0.693 bits Innan några ytterligare trädstrukturer skapas består rotnoden Figur 2(a) av nio yes- och fem no-noder. Detta innebär ett informationsvärde på: info([9, 5]) = 0.940 bits 7

Därmed kan Figur 2(a)s informationsvinst beräknas genom att subtrahera lövens genomsnittliga informationsvärde från rotnodens informationsvärde på följande vis. gain(outlook) = info([9, 5]) info([2, 3], [4, 0], [3, 2]) = 0.940 0.693 = 0.247 bits Samma procedur genomförs på resterande attribut och resulterar sedan i nedan informationsvinst. gain(outlook) = 0.247 bits gain(temperature) = 0.029 bits gain(humidity) = 0.152 bits gain(windy) = 0.048 bits Som synes resulterar outlook i störst informationsvinst. Därför utgår härefter beslutsträdet med den som rot. Proceduren fortsätter rekursivt med att försöka splitta de övriga attributen under roten enligt samma princip som innan. 8

Figur 3. Expanderade stubbar för weather data. Informationsvinsten för de tre kvarstående attributen: gain(temperature) = 0.571 bits gain(humidity) = 0.971 bits gain(windy) = 0.020 bits 9

Därav kan vi välja humidity som nästa sub-nod till outlook då den ger mest fördelaktigt informationsvärde. Och eftersom den har enhetliga klasser i löven så krävs ingen vidare splitt på grenen. I ett idealfall for fortsätter processen på samma vis med alla attributen tills löven är rena och ingen mer splitt behövs. Går inte detta att uppnå fortsätter man tills splitt inte längre är möjlig att genomföra eller när informationsvinsten är noll. Figur 4. Komplett beslutsträd för weather data Numeriska attribut Nedan följer en variant på Tabell 1 där det i stället för nominalvärden används numeriska värden för att, som i detta fallet, beskriva temperatur. Detta är alltså något som ID3 inte hanterar men dock C4.5. Innan en två-splitt eller så kallad binär-splitt genomförs rangordnas värdena. Det finns även andra metoder som exempelvis en tre-split, men nedan följer metoden för en ordinär två-vägs/binärsplit (Witten, 2011). 10

Tabell 2. weather temperature. Utmaningen ovan är att hitta vid vilket värde splitten ska ske. Det finns 11 potentiella skärpunkter. Informationsvinsten beräknas på samma vis som tidigare. Det innebär att om vi försöker bryta i mitten, vilket är var man ofta sätter tröskelvärdet, där temperature < 71,5 resulterar i fyra yes och två no liksom temperature > 71,5 ger fem yes och tre no. Informationsvärdet beräknas därmed enligt: info([4, 2], [5, 3]) = (6/14) info([4, 2]) + (8/14) info([5, 3]) = 0.939 bits Efter det mest förmånliga attributet för splitt valts, skapas en rotnod som splittar attributet och algoritmen fortsätter rekursivt på sub-noderna på samma vis som beskrivet för ID3- algoritmen. Att splitta numeriska värden på binärt innebär att man inte nödvändigtvis nyttjat all information den erbjuder till skillnad mot när vi har splittat nominalvärden. Fortsätter man splitta numeriska värden i fler nivåer resulterar det lätt i svårtolkade komplexa träd. Ett kraftfullt alternativ till binärsplit, i syfte att skapa ett enklare träd, är att testa fler olika konstanter mot de numeriska attributen och på så vis hitta en lämpligare splitt än nödvändigtvis på mitten. Uteblivna värden En vidareutveckling av ID3-algoritmen blev en nödvändighet för att också klara handskas med uteblivna värden. I riktiga databaser kan nämligen värden saknas av diverse anledningar, det kan vara felaktiga data som tagits bort, de kan ha försvunnit eller helt enkelt fattas av helt andra orsaker. Det är som regel mindre lämpligt att bara ignorera alla 11

instanser som saknar värden då de ofta kan innehålla mycket övrig användbar information. Ibland spelar attributen med saknade värden ingen roll i beslutet och då är instanserna givetvis varken bättre eller sämre än några andra. En av flera möjliga lösningar på bekymret är att hantera saknade värden som ett annat möjligt värde på attributet, exempelvis i tillägg till temperature < 71,5 och temperature > 71,5 kan det kompletteras med ett frågetecken,?, för att symbolisera saknat värde. Det skapar då en tredje gren. Detta är lämpligt om attributet som saknas är signifikant på något vis. Då behöver ingen vidare åtgärd tas. Men om det inte finns någon särskild signifikans i det faktum att en viss instans har ett saknat attributvärde, krävs en mer sofistikerad lösning. En alternativ enkel lösning till ovan är att se till till antalet element i träningsdatan som går ner i respektive gren och låta den mest populära grenen styra var instansen går ner när ett värde saknas. En mer raffinerad lösning är att använda så kallade viktscheman. Man delar då upp instanserna i delar och skickar ner element i var gren och vidare till löven av involverade subträd. För att göra splitten viktas var gren mellan 0 och 1. Vikten är proportionell till antalet instanser från tränings-settet som går ner i aktuell gren. Summan av vikterna på grenarna ska bli samma som av parent-noden. Med andra ord så blir de 1 i top-noden. En viktad instans kan splittas vidare till ytterligare sub-noder med samma regler tills de når ett löv. När respektive del av instansen nått sina löv-noder måste de återförenas utifrån vikterna som har föranlett till löven. Beräkningar på informationsvinsten och informationsration kan också tillämpas på delar av instanser, och kan därmed nyttja de beräkningsmodeller för klassificering som nämnts tidigare (Witten, 2011). Beskärning Ett fullt expanderat beslutsträd har ofta en onödigt komplex struktur, varför man introducerat beskärning för att göra det enklare och kompaktare. Två tillvägagångssätt finns möjliga; prepuning eller postpruning som alltså innebär för- eller efterbeskäring av trädet. 12

Postpruning erbjuder vissa fördelar som gör den till den mest använda, även om de bägge har sina för- och nackdelar i olika situationer. Att beskära orsakar mindre precision på tränings-settet om den skapats enligt tidigare beskriven konstruktion för trädstruktur. Detta eftersom den metoden resulterar i rena noder. Men på ett test-set så kan postpruning i stället öka precisionen. För att avgöra om en intern nod ska ersättas av ett löv eller av en sub-nod så används beräkning av error rates. Det är nödvändigt att estimera förväntad error rate vid respektive nod givet ett oberoende valt test-set för att kunna ta ett sådant beslut. Har man inget test-set kan man nyttja en teknik som kallas reduced-error pruning. Den innebär att man inte använder all given data utan undanhåller en del till ett test-set för att kunna uppskatta error raten vid respektive nod. C4.5-algoritmen estimerar i stället error baserat på tränings-datan utifrån heuristiker baserat på statistiska resonemang (Witten, 2011). Slutord Det finns ytterligare metoder för att förfina sökträden, och det går att fördjupa sig än mer i de befintliga. Mycket information finns tillgängligt fritt och spritt både i form av böcker och artiklar på internet. För egen del lyftes intresset ordentligt i takt med att förståelsen ökade, så som ofta annars. Mest intressant har ändå det varit som inte direkt omnämnt i uppgiften, nämligen att utforska analysverktyget Weka. Har upprättat ett antal egna dataset och provat olika algoritmer och sett hur de fungerar i praktiken och reagerar på olika justeringar och förutsättningar. Också undersökt verktygen för att visualisera datan för att exempelvis hitta extremvärden eller felaktigheter med mera. Mer generellt kring data mining finns många intressanta aspekter att dyka djupare på. Det är inte nödvändigtvis primärt relaterat till artificiell intelligens. Integritet är ett sådant ämne, dessutom hett i debatten kring data mining. Det är högaktuellt med stora företag som Facebook eller Google som kontinuerligt samlar in data om våra preferenser eller och vanor. En sak är dock säker; extrahering av mönster i stora databaser är på framåt march 13

Böcker Referenser Max Bramer (2007). Principles of Data Mining: Undergraduate Topics in Computer Science Michael J. A. Berry, Gordon S. Linoff (2000). Mastering Data Mining: The Art and Science of Customer Relationship Management North, D. M. (2012). Data Mining for the Masses. Witten, I. H., Frank, E., & Hall, M. A. (2011). Data Mining: Practical Machine Learning Tools and techniques (3rd ed.). Soumen Chakrabarti, Earl Cox, Eibe Frank, Ralf Hartmut Güting, Jiawei Han, Xia Jiang, Micheline Kamber, Sam S. Lightstone, Thomas P. Nadeau, Richard E. Neapolitan, Dorian Pyle, Mamdouh Refaat, Markus Schneider, Toby J. Teorey, Ian H. Witten (2008). Data Mining: Know It All Webbplatser Wikipedia. Data Warehouse. Retrieved 8 Jan, 2014, from http://en.wikipedia.org/wiki/ Data_warehouse RuleQuest. Is See5/C5.0 Better Than C4.5? Retrieved 8 Jan, 2014, from http://www.rulequest.com/ see5-comparison.html 14