SPOEDCURSUS STATISTIEK

Hallo wereld

Dit keer ga ik jullie een spoedcursus aanbieden in statistiek. In dit bericht zal het tempo wat hoger ligger dan normaal. Wil je een Dataridder worden dan is het echter van belang dat je een beetje werkt aan je conditie!

Op Wikipedia wordt statistiek gedefinieerd als de wetenschap, methodiek en de techniek van het verzamelen, bewerken, interpreteren en presenteren van gegevens. Dat is nogal een mondvol, maar statistiek is in principe niets anders dan de wiskundige theorie achter Data Science.

Wil je meer leren over Data Science dan is het dus belangrijk ook statistiek te leren. Bovendien zal het je helpen mijn toekomstige berichten beter te begrijpen.

Oké, klaar voor de start?

Af!

Hoofdgebieden

In de statistiek zijn er twee hoofdgebieden, de beschrijvende en de inductieve statistiek. Bij de beschrijvende statistiek houdt men zich bezig met de gegevens van een bepaalde populatie, ofwel verzameling van objecten. Hierbij gaat het in tegenstelling tot bij de inductieve statistiek om de gehele populatie, waarbij een steekproef genomen wordt. Dat wil zeggen, er wordt (willekeurig) een deelverzameling uit de totale populatie genomen om informatie over deze populatie te vinden. Dit is noodzakelijk wanneer de gehele populatie te groot is of om andere redenen onmogelijk of onwenselijk is om te onderzoeken.

Gegevens

Ook kan men onderscheid maken tussen numerieke en categorische gegevens. Binnen categorische gegevens kan men weer verder onderscheid maken tussen ordinale (geordende) en nominale (ongeordende) kenmerken.  Een voorbeeld voor een ordinaal kenmerk is bijvoorbeeld leeftijdsgroep (kind, volwassene, bejaarde), en een voorbeeld voor een nominaal kenmerk is kleur (rood, groen, blauw). Numerieke gegevens kunnen worden opgedeeld in discrete en continue waarden. Discrete waarden nemen alleen bepaalde waarden aan met constante intervallen ertussen in, bijvoorbeeld aantallen. Continue waarden kunnen alle waarden (binnen een bepaald interval) aannemen op de numerieke schaal, zoals bijvoorbeeld gewicht of tijd.

Visualisatie

Om categorische data te visualiseren kunnen we onder andere gebruik maken van kolomdiagrammen, staafdiagrammen of taartdiagrammen. We visualiseren dan het aantal of percentage van objecten dat van een bepaalde categorie is. Om numerieke data te visualiseren kunnen we onder andere gebruik maken van tijdgrafieken, histogrammen, stamdiagrammen en spreidingsdiagrammen.

Kolomdiagrammen en staafdiagrammen zijn heel simpel. Er wordt in zo’n diagram gewoon een aantal staven weergegeven die het aantal (of percentage) van objecten van een bepaalde categorie representeren. In het geval kolomdiagrammen zijn die staven verticaal en in het geval van staafdiagrammen horizontaal. Taartdiagrammen zijn ook niet al te ingewikkeld. In plaats van staven hebben we hier te maken met cirkelsegmenten die de percentages representeren van de categorieën. Waarschijnlijk zul je deze grafieken allemaal al eerder gezien hebben.

Kolomdiagrammen, staafdiagram en taartdiagram

Tijdgrafieken zul je ook vast al kennen. We hebben hier dan een lijn door een aantal punten met op de horizontale as de tijd en op de verticale as de afhankelijke variabele. Histogrammen en stamdiagrammen zijn visuele representaties van de zogenaamde frequentietabel. In een frequentietabel word de verdeling van een verzameling numerieke waarden weergegeven. Er wordt hierbij aangegeven hoe veel van de getallen binnen de gekozen intervallen voorkomen. In een histogram wordt daar dan simpelweg een kolomdiagram van gemaakt, in een stamplot worden deze gegevens in getalvorm weergegeven. In de stam, de getallen links van de lijn, staan dan de eerste getallen van de waardes. De bladeren zijn de overige getallen van de gesorteerde waardes in de verzameling.

Tijdgrafiek
Histogram

Afbeeldingsresultaat voor stemplot

Halverwege, ga zo door!

Numerieke presentatie

Naast visuele manieren voor het presenteren van data zijn er ook numerieke methodes. De belangrijkste eigenschappen van verzamelingen binnen de statistiek zijn centrummaten en spreidingsmaten.

De belangrijkste centrummaten zijn het gemiddelde, de mediaan en de modus. Het gemiddelde is de som van de waardes gedeeld door het aantal. De mediaan is de waarde die in het midden van de gesorteerde reeks ligt. In het geval van een even aantal is hij gelijk aan het gemiddelde van de twee middelste getallen. De modus is het getal dat het meeste voorkomt.

De belangrijkste spreidingsmaten zijn de standaardafwijking en de variatie. Deze getallen geven aan hoe ver de getallen over het algemeen van het gemiddelde afliggen. De standaardafwijking, ook wel standaarddeviatie genoemd, rekent men uit met de volgende formule.

De variatie is simpelweg het kwadraat van deze standaarddeviatie.

Percentielen en doosdiagrammen

Ook kunnen we de data representeren met percentielen en de vijf-getallensamenvatting. Percentielen geven aan voor welk getal een bepaald percentage van de getallen onder dit getal vallen. Een goed voorbeeld hiervan is het 50ste percentiel, ook wel bekend als de mediaan. Voor dit getal vallen dus 50 procent van de getallen onder dit getal (en 50 procent erboven). Als we dan het minimum, 25ste percentiel, 50ste percentiel, 75ste percentiel en maximum nemen hebben we de vijf-getallensamenvatting. Deze kunnen we visualiseren aan de hand van een doosdiagram. Hierbij wordt de data binnen de 25ste en 75ste percentielen weergegeven als een rechthoek (doos) en de minima en maxima met zogenaamde snorharen.

Afbeeldingsresultaat voor doosdiagram
Doosdiagram

Eventjes doorzetten nog!

Correlatie

Correlatie is de statistische samenhang tussen twee variabelen. We kunnen bijvoorbeeld waarnemen dat er een positief verband bestaat tussen het aantal uur dat een student studeert en het cijfer dat hij haalt. Het gedrag van zo’n correlatie wordt in het geval van een lineair verband uitgedrukt door middel van de correlatiecoëfficiënt. Deze kan varieren van -1 tot +1. Bij -1 is er een perfect negatief verband, bij +1 een perfect positief verband. Dit zegt echter niets over de helling van dit lineaire verband, alleen hoe goed de punten binnen een verzameling op een dergelijke lijn vallen. Lineaire regressie is het proces waarbij de lijn die zo’n correlatie zo goed mogelijk beschrijft berekend wordt.

Experimentatie

Ook kunnen we niet automatisch aannemen dat bij zo’n verband een variabele de oorzaak is en de andere het gevolg. Vaak zijn er een hele hoop andere factoren die op de achtergrond meespelen. Om met zekerheid te kunnen vast stellen of een correlatie een causaal (oorzaak-gevolg) verband beschrijft is het noodzakelijk om een goed opgezet (statistisch) experiment uit te voeren. Hierbij wordt dan een aantal objecten aan een bepaalde behandeling blootgesteld en daarna wordt het effect van die behandeling geobserveerd. Bijvoorbeeld het geven van een bepaald medicijn aan een muis en observeren of het effectief is of niet. Op deze manier kunnen we dan uitspraken doen over oorzaak en gevolg, mits zo’n experiment goed is opgezet en de resultaten op de juiste wijze worden geïnterpreteerd. Bij deze experimenten is het in geval van steekproeven (vrijwel altijd het geval) zowel van belang om objecten willekeurig te selecteren voor behandelingen en zoveel mogelijk objecten te bestuderen, zodat resultaten representatief zijn voor de gehele populatie.

Finish!

En nu ben je een expert in statistiek!

Nou ja, niet echt natuurlijk. Er is nog veel meer te leren. Op het moment ben ik dat zelf aan het doen met het gratis e-book ThinkStats en met af en toe een video uit de playlist Crash Course Statistics op Youtube. Dus als je meer wilt leren kun je daar kijken, of misschien in de onderstaande bronnen. Maar als je deze spoedcursus hebt volgehouden dan ben je al een heel eind op weg! Dat is alles voor nu.

Tot de volgende keer!

 

Bronnen:

Een boom tegelijk

Hallo wereld,

Dit keer ga ik jullie wat uitleggen over decision trees oftewel beslissingsbomen. Want, zonder beslissingsbomen kan je geen random forest maken.

In mijn eerdere bericht over random forests had ik jullie al in grote lijnen uitgelegd hoe deze werken. Zoals ik al zei, decision trees leren data te categoriseren aan de hand van een model met knooppunten en vertakkingen. Bij elk knooppunt word een data punt aan een bepaalde test onderworpen om te beslissen naar welk volgende knooppunt de data gaat voor een volgende test. In het voorbeeld dat ik had gegeven kun je bijvoorbeeld een object hebben met de volgende eigenschappen: snelheid: 9001 km/u, lengte: 2m.

Als we willen weten wat dit is dan kunnen we het testen met onze beslissingsboom. Is de snelheid hoger dan 60 km/u? Ja. Dus is het geen vogel en moeten we de vraag stellen: Is de lengte langer dan 3m? Nee. Dus het is ook geen vliegtuig, het is Superman!

Maar, hoe maak je nou zo’n beslissingsboom? Nou, die in het voorbeeld heb ik gewoon helemaal zelf bedacht. Maar wat als je nou niet zo geweldig slim bent, of de data wat ingewikkelder is? Dan heb je een computer algoritme nodig dat de beslissingsboom voor je maakt op basis van gelabelde data.

Want, het is een supervised learning algoritme, weet je nog? Dat betekent in dit geval dus dat je het moet trainen door het gelabelde data te voeren. We zouden de bovenstaande beslissingsboom dus kunnen genereren door het algoritme een hele hoop datarijen met eigenschappen van vogels, vliegtuigen en superman te voeren. In dit geval data rijen met drie kolommen: snelheid, lengte en een label. Op basis van die data kan het computer algoritme dan een beslissingsboom berekenen die het label kan raden voor nieuwe datapunten.

Hoe goed die beslissingsboom is hangt echter af van de kwaliteit van de data. Zowel de relevantie als de juistheid van de data. Geef je het bijvoorbeeld alleen maar kleuren in plaats van snelheden en lengtes dan zal het het waarschijnlijk een stuk minder goed doen. Ook het verkeerd labelen van de data zal weinig goeds uithalen. En ook geldt vaak: hoe meer data, hoe beter!

Maar hoe werkt dat algoritme dan? Nou, het stappenplan is als volgt:

1. Bereken voor de gegeven dataset voor alle mogelijke criteria (alle mogelijke waardes voor alle variabelen)  de kwaliteit van de resulterende splijting van gegevens uit.

2. Kies het criterium uit dat de beste splijting oplevert.  (De splijting die de data zo goed mogelijk verdeeld in de gewenste categorieën.) Dit is het criterium voor het eerste knooppunt.

3. Herhaal voor de resulterende datasets totdat alle data compleet zuiver gespleten is in de gewenste categorieën. Dan zijn er dus alleen nog bladeren. (Of als de boom de maximum lengte bereikt heeft.)

Hoe wordt de kwaliteit van de splijting bepaalt? Nou hier zijn verschillende manieren voor. Een ervan is de Gini index. De Gini index is een statistische maatstaf voor de ongelijkheid binnen een verdeling. Hij wordt vooral in de economie gebruikt om de inkomensongelijkheid te berekenen, maar kan ook gebruikt worden om de kwaliteit van de splijting van onze dataset te bepalen. De Gini index is een getal dat een waarde heeft tussen 0 en 1. Een waarde van 0 komt overeen met volkomen gelijkheid, een waarde van 1 met volkomen ongelijkheid. In ons geval komt 0 overeen met een perfecte splijting en 1 overeen met een compleet waardeloze. In het geval van 2 categorieën zou een score van 1 betekenen dat we precies de helft van onze datapunten in de juiste en de andere helft in de onjuiste categorie zouden plaatsen. Daar schieten we dus niets mee op. Een score van 0 daarentegen zou betekenen dat we onze datapunten allemaal in aparte categorieën hebben geplaatst.

Met 3 categorieën, zoals in ons voorbeeld, wordt het iets ingewikkelder en hebben we al minimaal 2 knooppunten nodig om alle data te kunnen categoriseren. De eerste splijting kan namelijk nooit perfect zijn aangezien er 3 categorieën zijn en maar 2 mogelijke subsets. Ook is het lang niet altijd het geval dat we meteen een perfecte splijting vinden, ongeacht het aantal categorieën. We zijn dus bij elke splijting op zoek naar de laagst mogelijke gini index mogelijk en gaan gewoon net zo lang door totdat we de perfecte boom hebben (met een gini index van 0 in elk blad), of dat onze boom te groot wordt.

Een andere veelgebruikte is de information gain (informatie toename). De information gain is een maat voor de afname van entropie in een verzameling. De entropie is gelijk aan 0 voor een compleet homogene verzameling en 1 voor een evenredig verdeelde verzameling. Een toename van de information gain staat gelijk tot een afname van entropie. En dat betekent dus dat de verzameling puurder wordt, wat precies is wat we willen. We willen dat er alleen maar vogels in ons eerste blad terechtkomen, en geen vliegtuigen!

Nu zijn er natuurlijk ook formules voor deze getallen, en om die uit te leggen zou ik makkelijk een heel nieuw bericht kunnen schrijven. Ik ga dit echter voorlopig denk ik niet doen. Wil je weten hoe ze worden uitgerekend, Google is je vriend. Maar ik zal er natuurlijk ook een van gebruiken in mijn eigen implementatie van de random forest wijnproever, aangenomen dat dit gaat lukken. Ik ben er van overtuigd dat ik er uiteindelijk wel uit zal komen, maar hoe lang dit nog gaat duren is moeilijk te zeggen.

Het nadeel van deze beslissingsbomen is wel dat ze de neiging hebben om data te overfitten. Dat wil zeggen, ze leren de trainingsdata zo goed te classificeren dat ze het slecht doen voor nieuwe gegevens, die net wat anders is. Ze leren de oefentoetsen perfect uit hun hoofd, maar weten niet hoe ze andere sommen op moeten lossen. Een oplossing hiervoor is snoeien (pruning). Dat houdt in dat we er gewoon een aantal takken afhalen zodat de boom wat minder gefixeerd is op details. Maar een andere en betere oplossing is het bundelen van een aantal variaties van deze bomen in een random forest. Maar, dat is alles voor nu,

Tot de volgende keer.

Door de bomen het bos zien

Hallo wereld!

Wat zijn random forests?

Hoe werken ze?

Waar worden ze voor gebruikt?

Nou, laat ik eerst een stap terug doen en wat uit leggen over machine learning en decision trees. Random forests zijn namelijk machine learning algoritmes die zijn opgebouwd uit decision trees.

Machine learning

Machine learning is het subgebied binnen kunstmatige intelligentie dat zich bezig houdt met het bedenken en trainen van algoritmes die leren van gegevens. Het zijn programma’s met een aantal variabele parameters die zich aan passen aan een dataset om een zo effectief mogelijk eindprogramma te realiseren.

Het is te vergelijken met de manier waarop wij leren. Op basis van de gebeurtenissen in ons verleden passen wij ons gedrag aan voor de gebeurtenissen in de toekomst.

Soms krijgen wij hier begeleiding bij, van ouders en leraren, die ons vertellen wat we wel of niet moeten of kunnen doen. Op andere momenten zoeken we het zelf uit, met vallen en opstaan. Zo is het ook met machine learning. Je hebt daarbij supervised (onder toezicht) en unsupervised (zonder toezicht) leren. Decision trees (beslissingsbomen) vallen onder de supervised categorie.

Wat houdt dit in?

Nou, je moet het algoritme in principe les geven. Je geeft het een gelabelde dataset, dat wil zeggen een dataset met de gewenste antwoorden bijgevoegd. Bijvoorbeeld een verzameling van plaatjes van honden en katten met de labels hond of kat. Op basis van die gelabelde data kan het algoritme dan leren wat het verschil is tussen honden en katten en nieuwe plaatjes zelf leren categoriseren.

De twee hoofdtaken binnen supervised learning zijn classificatie en regressie. Bij classificatie wordt de data gecategoriseerd, net zoals bij het voorbeeld met honden en katten. Bij regressie wordt er een continue waarde aan toegedeeld. Bijvoorbeeld een algoritme dat de leeftijd van een mens of dier op basis van een foto bepaalt.

 

Decision Trees

Decision trees zijn machine learning algoritmes die leren data te categoriseren aan de hand van een model met knooppunten en vertakkingen. Bij elk knooppunt wordt een datapunt getest op een bepaalde variabele en op basis daarvan wordt bepaald naar welk volgende knooppunt het gaat voor de volgende test. Uiteindelijk komt het dan uit bij een eindknooppunt, een blad (leaf). Hierbij wordt het datapunt dan gelabeld binnen een een bepaalde klasse (of een continue waarde in het geval van regressie).

Een voorbeeld?

Hierbij zijn de vierkanten dan dus de knooppunten, de lijntjes de takken en de rondjes de bladeren. Hoe bepaalt het algoritme wat de criteria zijn waar op getest wordt in de knooppunten?

Brute kracht in principe. Bij elk knooppunt wordt voor elke variabele voor een groot aantal waarden getest tot wat voor split het zou zorgen in de dataset. Uiteindelijk wordt dan gewoon de split gekozen die de data het beste opsplitst. Dit proces wordt herhaald tot de gekozen eindcriteria bereikt worden (bijvoorbeeld de maximale lengte voor de boom).

Decision trees hebben echter de vervelende gewoonte om data te ‘overfitten‘. Ze vormen zichzelf op een manier die heel nauwkeurig de trainingset kan modeleren, maar doen dit zo overdreven dat ze het slecht doen voor nieuwe gegevens. Ze leren de antwoorden in plaats van de patronen. Om dit te voorkomen kun je de decision trees ‘snoeien’. Dit houdt in dat je hem kleiner maakt zodat hij niet te gefocust raakt op de details. Maar er zijn ook andere oplossingen, en een daarvan is het random forest algoritme.

 

Random Forest

Een random forest is precies dat wat de naam al suggereert: een verzameling van (random) beslissingsbomen. Er wordt een verzameling van decision trees gegenereerd met random variaties in de trainingset en input variabelen. Deze decision trees krijgen dan elk een stem. In het geval van classificatie wordt het uiteindelijke antwoord bepaald door de meerderheid van die stemmen. In het geval van regressie wordt het gemiddelde genomen. Op deze manier wordt voorkomen dat het model overfit raakt, iets wat vooral een risico is voor trainingsets met veel variabelen en weinig datapunten. Random forests daarentegen kunnen daar over het algemeen uitstekend mee omgaan.

Dit en het feit dat ze over het algemeen vrij simpel te trainen zijn maakt ze erg populair. Ze doen het vooral goed voor classificatie maar zijn ook geschikt voor regressie. Ze worden gebruikt bij allerlei toepassingen op allerlei gebieden. Ze worden gebruikt door banken om kandidaten voor een lening te beoordelen. Ze worden gebruikt op de beurs om trends te voorspellen. Ze worden gebruikt in computer visie, bijvoorbeeld voor X-box connect. En nog veel meer.

En dat is het!

Simpel nietwaar? Natuurlijk komt er wat meer bij kijken als je zo’n decision tree of random forest zelf wilt implementeren en trainen. Maar daarover later meer. Ik wil er namelijk eerst voor zorgen dat je het grote plaatje duidelijk hebt. Door de bomen het bos zien aldus. Bovendien heb ik de details zelf ook nog niet allemaal op een rijtje. Een boom tegelijk planten en zo. Maar, dat is alles voor nu.

 

Tot de volgende keer!

Datamining

Hallo wereld. Dit keer ga ik jullie wat vertellen over datamining. Datamining (gegevensdelving, datadelving) is het gericht zoeken naar patronen en verbanden in verzamelingen van gegevens met als doel tot waardevolle kennis te komen. Het wordt toegepast in legio aan gebieden, zoals de wetenschap, de detailhandel, de financiële sector, de politie en de journalistiek. Denk bijvoorbeeld aan het analyseren van het aankoopgedrag van klanten om bedrijfsstrategieën te verbeteren, of het vinden van onregelmatigheden in online activiteit voor het opspeuren van criminelen.

De technologische ontwikkelingen van de laatste tijd hebben het verzamelen en opslaan van data steeds makkelijker gemaakt. Niet alleen dat, de wetenschappelijke en economische ontwikkelingen hebben ervoor gezorgd dat er veel meer data relevant voor ons geworden is. Echter, als mens zijn we niet opeens beter geworden in het verwerken van al die gegevens. Hierdoor hoopt het aantal gegevens zich op, gegevens die mogelijk tot waardevolle informatie zouden kunnen leiden als we ze zouden kunnen analyseren. Dit is waarom datamining steeds interessanter wordt als technologie. Het stelt ons in staat het onttrekken van informatie, dat wil zeggen nuttige inzichten en voorspellingen, uit die steeds harder groeiende hoop van gegevens te automatiseren.

Hierbij is het echter belangrijk dat dit allemaal op een verstandige en wetenschappelijke manier gebeurt. Het is heel gemakkelijk om verbanden te vinden met een programma die in werkelijkheid niets zeggen of iets heel anders betekenen dan op het eerste gezicht lijkt. Wist je bijvoorbeeld dat er meer mensen verdrinken op dagen dat er meer ijsjes verkocht worden? We moeten echt ophouden met al die ijsjes, niet waar?! Oh, of is het misschien dat er op warmere dagen meer mensen naar het strand komen en het risico lopen te verdrinken, en dat er ook meer ijsjes verkocht worden omdat er meer mensen op het strand zijn?

Datamining is onderdeel van een groter proces bekend als KDD: knowledge discovery in databases (kennisvergaring uit databases), waar meer bij komt kijken dan alleen het analyseren van de data. Maar met datamining wordt gerefereerd naar de analyse stap zelf en hierbij zijn een aantal verschillende analyse taken te onderscheiden:

  • Het groeperen van data. (Clustering)
  • Het vinden van verbanden tussen data. (Dependency modeling)
  • Het vinden van onregelmatigheden in data. (Anomaly detection)
  • Classificatie. (Classification)
  • Regressie. (Regression)
  • Samenvatten. (Summarization)
Het groeperen van data. (Clustering)

Hierbij gaat het om het groeperen van objecten op een dusdanige manier dat de objecten binnen een groep meer met elkaar in gemeen hebben dan met objecten binnen een andere groep. Hierbij gaat het om het vormen van nieuwe groepen in plaats van het indelen in bestaande categorieën. Dit kan worden toegepast op allerlei gebieden en leiden tot interessante nieuwe inzichten. Bijvoorbeeld een nieuwe groep consumenten met bepaalde gemeenschappelijke kenmerken die voorheen onopgemerkt bleven, door deze techniek toe te passen op klantonderzoeksgegevens.

Het vinden van verbanden tussen data. (Dependency modeling)

Het schijnt dat er een verband is tussen het aantal ooievaars dat wordt aangetroffen in een land en het aantal baby’s dat geboren wordt. Wist je dat? Helaas, het is weer niet echt een veelzeggend verband, en heeft meer te maken met het feit dat grotere landen zowel meer ooievaars als geboortes hebben. Toch, met datamining kunnen allerlei verbanden worden ontdekt tussen gegevens en soms zeggen die verbanden wel nuttige dingen. Bijvoorbeeld dat het gebruik van een bepaald medicijn vaak voorkomt in combinatie met hartproblemen. Handig om te weten. Of bijvoorbeeld om te voorspellen wat voor weer het morgen wordt.

Het vinden van onregelmatigheden in data. (Anomaly detection)

Je hebt een oneindige hoeveelheid aan gegevens en je bent op zoek naar de uitschieters, de objecten die buiten de boot vallen. Bijvoorbeeld om criminelen op te sporen, of een defect product. Succes om dat met het blote oog te doen. Daar heb je datamining voor nodig. Het is in principe niets anders dan het vinden van waarden die buiten bepaalde grenzen vallen, maar dus ook het bepalen van de grenzen waarbinnen het merendeel van de andere gegevens liggen.

Classificatie. (Classification)

Is dit een foto van een hond of een kat? Is dit bericht spam of geen spam? Is deze persoon zwanger, of niet zwanger? Zal deze persoon zijn lening wel of niet gaan aflossen? Dit zijn voorbeelden van vragen die je met (statistische) classificatie kan beantwoorden. En hoe doet een systeem dat? Nou, door op basis van een training set van objecten met bekende classificatie te leren onbekende objecten te classificeren. Als dat te ingewikkeld klinkt, het komt er in principe op neer om een systeem bijvoorbeeld een aantal plaatjes van honden en katten te laten zien totdat het in staat is om zelf te raden (met een bepaalde nauwkeurigheid) of een plaatje van een hond of een kat is. Dit is dan ook een van de hoofdtoepassingen van machine learning.

Regressie. (Regression)

Welke functie beschrijft deze datapunten het beste? Regressie is het proces waarmee verbanden tussen gegevens worden ingeschat. Het gaat er dan om uit te vinden hoe veranderingen in een bepaalde onafhankelijke variabele een bepaalde afhankelijke variabele beïnvloedt. Hierbij worden de andere onafhankelijke variabelen constant gehouden. Bijvoorbeeld: als je een hele hoop gegevens hebt over de verkoop van ijsjes N op een bepaalde dag onder bepaalde omstandigheden, hoe hangt dan de verkoop van ijsjes af van de temperatuur T? We zijn dan op zoek naar een functie N(T) die dit verband beschrijft zodat we voor elke T kunnen voorspellen hoeveel ijsjes er verkocht zullen worden.

Samenvatten. (Summarization)

Hierbij gebeurt er letterlijk wat er staat. Er wordt wat samengevat. Heb je bijvoorbeeld een groot document (of een grote hoeveelheid grote documenten) dan kun je met een programma een samenvatting genereren die bijvoorbeeld bepaalde veelvoorkomende zinnen verzameld. Of als je een grote verzameling tekst hebt van bijvoorbeeld een klantenonderzoek, dan kun je uitzoeken wat het meest gebruikte woord of de meest voorkomende zin is. Hierbij komt natuurlijk het een en ander kijken om dit goed te kunnen doen en met meer diepgang dan alleen het uitvinden van de meest gebruikte combinatie van letters. Ook hier komt machine learning bij kijken.

En dat is het! Nou niet per se. Dit zijn slechts de taken die genoemd werden op Wikipedia, en er zijn er waarschijnlijk nog wel meer te bedenken. Ja ik geef het toe, ik heb deze informatie voor een groot deel (maar niet exclusief) van Wikipedia afgehaald. Ik hoop echter dat je mijn uitleg beter begrijpt dan het lange en technische verhaal dat daar te vinden is. De bronnen die ik gebruikt heb staan onderaan dit bericht. Dat is alles voor nu.

Tot de volgende keer!

Bronnen

https://nl.wikipedia.org/wiki/Datamining

https://en.wikipedia.org/wiki/Data_mining

https://en.wikipedia.org/wiki/Cluster_analysis

https://nl.wikipedia.org/wiki/Rofecoxib

https://en.wikipedia.org/wiki/Regression_analysis

https://en.wikipedia.org/wiki/Statistical_classification

Data Mining Practical Machine Learning Tools and Techniques – I. Witten, E. Frank (Geweldig boek!)