Machine Learning bestaat voor 80% uit data-analyse

Verschillende bedrijven maken actief gebruik van Machine Learning. Een aantal banken zijn bijvoorbeeld met deze vorm van Artificial Intelligence aan de slag gegaan om real-time transacties te analyseren. Zo kan een dergelijk systeem op basis van grote hoeveelheden data voorspellingen doen, die bijvoorbeeld kunnen aantonen of een transactie mogelijk frauduleus is. Erg handig dus!

De trend van geautomatiseerde voorspellingen zal voorlopig nog voortzetten, waarbij new business concepten zullen worden ontwikkeld die van grote waarde kunnen gaan zijn, zoals het voorbeeld van de bancaire sector. Het blijft daarbij noodzaak om met deze technologieën te experimenteren. Voor een mens is het vrijwel onmogelijk om dergelijke voorspellingen met de hand te doen. Daar is de hoeveelheid data te groot voor, toch speelt de mens wel een grote rol in het traject.

Voordat gestart kan worden met het opzetten van een Machine Learning systeem zal eerst een boel data moeten worden geanalyseerd. Uit ervaring blijkt dat data-analyse 80% van de tijd in beslag zal nemen en de laatste 20% zal zitten in het configureren van het Machine Learning algoritme. Dus hoe gaat dat analyseren nu precies in zijn werk? In deze blog leg ik dat in 7 stappen uit.

Allereerst een kleine introductie over wat Machine Learning nu precies doet: het is een systeem dat leert van het gedrag dat een gebruiker vertoont en de data die een gebruiker daarmee achterlaat. In deze data zal het systeem patronen herkennen. Op basis van de patronen ontwikkelt het een algoritme en een model dat de voorspellingen maakt. In het blogartikel ‘Voorspellen of een gebruiker lid blijft’ vertel ik hoe dat precies in zijn werk gaat. Op basis van het algoritme kan het systeem voorspellingen doen, waarbij het potentie heeft om zelfstandig te kunnen opereren.

Stap 1: Doel bepalen Machine Learning traject

De eerste stap is te bepalen wat er voorspelt moet worden en een doel te koppelen aan het onderzoek. Een doel kan bijvoorbeeld zijn: ‘ik wil kunnen voorspellen of een websitebezoeker een bestelling zal gaan plaatsen.’ Dit geeft richting aan het onderzoek en inzicht in welk probleem er precies opgelost moet worden.

Stap 2: Data verzamelen

In de tweede stap van het Machine Learning traject moet geïnventariseerd worden wat voor data beschikbaar is. Vervolgens is het aan jou om in het systeem aan te geven welke data van belang is en welke data ruis bevat. Dit is een belangrijke stap, omdat op deze wijze het systeem in de juiste richting gestuurd wordt en gaat begrijpen wat de juiste voorspellingen moeten zijn. Om deze stap te kunnen nemen moet de data inzichtelijk worden gemaakt. Samenvatten en visualiseren van de data helpt om daar grip op te krijgen.

Stap 3: Samenvatten van data

Een goede samenvatting van de data kan helpen inzicht te krijgen in verschillende datastructuren en te controleren of de dataset zuiver is. Het is namelijk van belang de dataset zo zuiver mogelijk te krijgen. In feite ga je in deze stap beginnen met de data te analyseren.

Om een goede samenvatting te maken zal je een antwoord moeten krijgen op een aantal vragen zoals: hoe is de data opgebouwd? Wat voor categorieën worden er gebruikt? Wat betekenen de waardes van de data? Gaat het om een getal, of een getal met decimalen? Wat is de hoogste waarde? Wat voor eigenschappen heeft deze waarde nog meer en hoe wordt deze toegepast? Is het mogelijk om gemiddelden te maken? Zijn er belangrijke uitschieters en wat houden deze in?

Wanneer eventuele correlaties en lineaire verbanden onderzocht moeten worden kunnen de waardes gecontroleerd worden aan de hand van de correlatiecoëfficiënt van Pearson. Mocht het gaan om waardes op ordinaal niveau, dus een rangschikking, kan gebruik worden gemaakt van de Spearman’s rang-correlatie, waarbij de data vervangen wordt door rangnummers en alsnog een correlatie kan worden berekend.

Zoeken naar waardevolle data in een zee vol informatie. De tekst gaat verder na de afbeelding

Stap 4: Functionele datavisualisatie

Ook is het handig om data visueel te maken. Grafieken en tabellen kunnen inzicht geven in mogelijk interessante structuren. Een mogelijkheid is gebruik te maken van een histogram of scatterplot. Let hierbij op de verschillende groepen en de eventuele verspreiding van deze groepen.

Er zijn verschillende tools om datavisualisaties te maken. Je zou deze visualisaties kunnen maken met R-Studio. R-Studio maakt gebruik van de programeertaal R. De programeertaal R is ontwikkeld voor statistiek en data-analysedoeleinden en wordt ook veel gebruikt voor Machine Learning.

Een histogram kan gebruikt worden om een beter beeld te krijgen bij de getallen. Bij een eenvoudige dataset kun je eventuele verbanden nog aflezen, maar als het complexer wordt is aan te raden om een hulpmiddel, zoals het histogram te gebruiken. De tekst gaat verder na de afbeelding.

Een andere methode die gebruikt kan worden om data visueel te maken is het scatter plot. Dit is een twee dimensionele weergave van een structuur, waarin twee variabelen worden weergegeven en het mogelijk maakt om een eerste indruk te krijgen van eventuele correlaties te ontdekken. Op deze manier krijg je een eerste indruk van de data.

Een voorbeeld kan zijn de eruptiedata van de ‘Old Faithful’ geiser in Yellowstone. Waarbij er twee assen zijn: de wachttijd tussen de erupties en de duur van de eruptie. De tekst gaat verder na de afbeelding.

Stap 5: Opstellen onderzoeksvraag

Wanneer de data geanalyseerd is en het doel van het onderzoek duidelijk, is de volgende stap om een onderzoeksvraag op te stellen, om vervolgens te bepalen welke data nodig zijn om het model te trainen. In de blogpost ‘De 6 must-know’s voordat je start met Machine Learning’ geef ik een aantal handvaten over het opstellen van een goede onderzoeksvraag, om de juiste inzichten en voorspellingen uit het systeem te krijgen. Hierin staan ook de verschillende vormen van Machine Learing beschreven welke je in de volgende stappen nodig bent.

Stap 6: Traningsdata (Pre-processing modules)

Nu het doel bepaald is, de gegevens klaar staan en een onderzoeksvraag is opgesteld, is het tijd om het voorspellend model te gaan bouwen en te trainen. Het is mogelijk om een algoritme van tevoren te trainen met behulp van een trainingsdataset. In het hypothetische geval dat er voorspeld moet worden of een websitebezoeker een bestelling zal gaan plaatsen kan een dergelijke trainingsdataset bestaan uit het aantal frequenties dat een bepaald type handeling is uitgevoerd.

In mijn eerdere blogpost ‘Voorspellen of een gebruiker lid blijft’ wordt dieper ingegaan op het proces van trainen van het model en hoe we dit precies doen aan de hand van het machine learning itaration model. In het model wordt ‘stap 6’: ‘Pre-processing modules’ genoemd. De tekst gaat verder na de afbeelding.

Stap 7: ‘Machine Learning algorithm’ toepassen

Op basis van de trainingsdata wordt het Machine Learning algoritme gevoed. Dit komt omdat het model steeds weer resultaten produceert, die gebruikt worden om oude algoritmes te verbeteren. Oftewel de uitkomst van elke stap leert of alle voorgaande stappen goed zijn uitgevoerd, maar het is aan jou om het juiste algorimte te kiezen en de waardes te tweaken.

Mocht de wereld van toegepaste data-analyse en Machine Learning je interesse hebben gekregen, maar je hebt nog de nodige vragen? Laten we dan eens een kop koffie drinken.

Voor dit blogartikel heb ik gebruikt gemaakt van de volgende bronnen: MachineLearningMastery, Gartner, R-tutor en Stackoverflow.

Deze blogpost verscheen op Colours.nl en op de weblog van Dion van Velde. Credits voor dit artikel gaan ook naar onze ‎Online Marketeer: Elizabeth Geul, zij heeft bijgedragen aan de tekst door deze te redigeren.