13 januari 2017 • januari 13, 2017 at 7:45 pm Qdraw

Minor Meaningfull datadesign 2017

Op vrijdag 13de januari was de eindexpositie van de minor Meaningful Data Design. In deze minor ligt de nadruk op het op een andere manier de data visualiseren. Denk hierbij aan interactieve webapps tot interactieve installaties. Vorig jaar heb ik zelf deze minor afgerond tijdens mijn studie Communicatie en Multimedia Design. Voor deze expositie hadden de studenten de keuze om één van de drie opdrachten te exposeren. De eerste opdracht van de minor was om Romeo en Juliet-data te visualiseren, ze zijn aan de gang geweest om verhuisdata van het CBS te visualiseren. De laatste opdracht was op basis van data van bouwkunde, het gedrag van het stuifzand een visualisatie te ontwikkelen


Minor Meaningfull datadesign 2017 ; | foto 1


Minor Meaningfull datadesign 2017 ; | foto 2


Minor Meaningfull datadesign 2017 ; | foto 3


Minor Meaningfull datadesign 2017 ; | foto 4


Minor Meaningfull datadesign 2017 ; | foto 5


Minor Meaningfull datadesign 2017 ; | foto 6

Dit bericht is geschreven door: Dion

Tags: ,

Gecategoriseerd in:

13 januari 2017 • maart 27, 2024 at 9:01 pm Qdraw

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


Machine Learning bestaat voor 80 procent uit data-analyse ; | foto 1

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.


Machine Learning bestaat voor 80 procent uit data-analyse ; | foto 2

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.


Machine Learning bestaat voor 80 procent uit data-analyse ; | foto 3

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.


Machine Learning bestaat voor 80 procent uit data-analyse ; | foto 4

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.com/quick-and-dirty-data-analysis-for-your-machine-learning-problem, www.gartner.com/smarterwithgartner/gartners-top-10-technology-trends-2017, 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.

Dit bericht is geschreven door: Dion

Tags: , , ,

Gecategoriseerd in:

25 november 2016 • maart 25, 2024 at 6:34 pm Qdraw

De 6 must-know’s voordat je start met Machine Learning

Het is mogelijk om met Artificial Intelligence de toekomst te voorspellen. Machine Learning is een vorm van Artificial Intelligence waarbij de machine zichzelf patronen aanleert. Bij het implementeren van Machine learning worden er een aantal basis patronen geprogrammeerd. Op basis van nieuwe inputdata leert de computer (d.m.v. Machine Learning) de huidige data (bestaande patronen) te trainen en uit te breiden.
Dit model kunnen we succesvol inzetten om de uitkomsten van nieuwe data te voorspellen. Met dank aan deze voorspellingen kan een organisatie sneller succesvol zijn en de concurrenten een stap voor blijven. In dit proces is het belangrijk om de juiste vragen te stellen en te weten wanneer je succes hebt. In dit artikel ga ik het hebben over de zes must knows om Artificial Intelligence succesvol in te zetten.

Stappen in het Machine Learning proces

Om een beter beeld te geven hoe het proces verloopt, is er een model ontwikkeld: het ‘Machine Learning Iteration Model’. Je begint elk proces altijd met de input van raw data. Deze data moet vervolgens verwerkt worden tot trainingdata. Trainingdata is de data die geschikt is om te voeden aan het Machine Learning algoritme. De Machine Learning algoritme maakt van deze gegevens een model. De eerste versies van zo’n model worden ook wel candidate models genoemd. Het model berekend op basis van de trainingdata de voorspelling. De app maakt vervolgens verbinding met het model om op basis van nieuwe data voorspellingen te doen.

Tekst gaat verder na de afbeelding



Machine Learning iteration model | foto 1

De 6 must knows

  1. Stel de juiste vraag om te voorspellen.

    Het proces van Machine Learning valt of staat bij een goede onderzoeksvraag. Zo’n vraag moet daarom voldoen aan de volgende vier punten:

    • Maak de scope helder: wat gaan we nu voorspellen en wat niet;
    • Maak duidelijk wat het doel van de voorspelling is;
    • Maak inzichtelijk in welke context/situatie de vraag relevant is.

      Er moet een mogelijkheid zijn om te meten of de machine defect is. Dit klink logisch maar dat is het over het algemeen niet.
    • Maak meetbaar wanneer het een succes is.
      En welke manier van Machine Learning hiervoor gebruikt kan worden.
      (In het artikel “Voorspellen of een gebruiker lid blijft” vertel ik iets meer over de verschillende vormen van Machine Learning).
  2. Verwerk de raw data (volledig) tot trainingdata.

    Aan de hand van de trainingdata kan het Machine Learning algoritme voorspellingen doen. Elke stap die hierna komt heeft een toenemende afhankelijkheid van de vorige stap. Als je een belangrijk data-element bent vergeten toe te voegen in de eerste stap, kom je in de volgende stappen in de problemen. Hierdoor zal je opnieuw moeten beginnen;

  3. Verwacht dat je stappen terug moet doen.

    Machine Learning is een itererend proces waarbij je steeds tot nieuwe inzichten komt en steeds meer leert over de data. Hierdoor moet je uitzoeken of die nieuwe inzichten/leerpunten ook toepasbaar zijn op eerder gemaakte stappen;

  4. Check tijdens het proces of je nog data mist.

    In een Machine Learning proces kom je er in veel gevallen achter dat er data mist. Er zijn drie manieren om dit op te lossen:

    • Door data van een andere bron erbij te zoeken, en deze twee databronnen te combineren;
    • Door eerst te bewijzen door middel van zelf gegeneerde nep data dat de data daadwerkelijk antwoord geeft op de vraag. Pas daarna met echte data aan de gang te gaan;
    • Door de data die nodig is om een voorspelling te doen alsnog te verzamelen en daarna opnieuw een model te maken met Machine Learning.
  5. Zorg ervoor dat de data is gestructureerd.

    Wanneer je meer data hebt vergroot je de kans dat het voor de machine makkelijker wordt om patronen te vinden. Het is hierbij wel belangrijk dat de data compleet is en niet vervuild. Machine Learning kan namelijk niet helpen bij het opschonen van vervuilde data.

  6. Ga niet verder met een slechte oplossing.

    Evalueer de data en kijk of je eventuele fouten kunt oplossen. Hierdoor kan je een betere voorspelling maken. Mocht dit niet lukken, beëindig dan de voorspelling en begin opnieuw met een nieuwe voorspelling. Zoals het Duitse automerk zou zeggen “Das beste oder nichts”.

Deze 6 must knows geven je een handvat om Machine Learning in te zetten in echte projecten. Het doel is om altijd beter te kunnen voorspellen dan om zomaar een willekeurige gok te doen. Dit heeft als voordeel dat je een stapje voor bent op de concurrent en wie wil dat nu niet.



Binary Bridge at Georgia tech (Door: Chris McClanahan) | foto 2

Deze blog is geschreven door Dion van Velde en verscheen op Colours.nl en mijn eigen blog Qdraw

Dit bericht is geschreven door: Dion

Tags: , , , ,

Gecategoriseerd in:

16 november 2016 • maart 25, 2024 at 6:34 pm Qdraw

Voorspellen of een gebruiker lid blijft

De toekomst voorspellen wie wil dat nu niet? We zijn een stap dichter bij deze droom gekomen door gebruik te maken met Artifical Intelligence. In dit artikel geef ik een sneak preview op basis van een demo case en stukje theorie. We hebben Machine Learning toegepast om een succesvolle predictive analyse te maken op basis van anonieme gebruikersdata.

Supervised Machine Learning vs Unsupervised Machine Learning.

Alles begint bij een vraag die je straks aan de computer gaat stellen. De computer gaat antwoord geven op deze vraag door naar de data te kijken, deze data wordt ook wel trainingsdata genoemd. Is de uitkomst van de vraag al in de data of moet het Machine Learning-algoritme de uitkomsten buiten de data zoeken. Bij Supervised Machine Learning ligt de uitkomst in de ingevoerde training data en bij Unsupervised ligt het antwoord buiten de invoerde training data. In de onderstaande alinea geef ik een aantal voorbeelden.

Verschillende Machine Learning categorieën

Regressie

Hoeveel auto’s ga ik volgende maand verkopen? De uitkomst van deze voorspelling ligt al in de data besloten. Daarom wordt er bij Supervised Machine Learning ook 75% van de data gebruikt en de laatste 25% ter controle ingezet. De uitkomst van deze Machine Learning categorie is een getal.

Categoriseren

Is het creditcard fraude? Hier zijn twee antwoorden op mogelijk, namelijk ja of nee. In dit geval zijn er twee antwoorden mogelijk maar bij categoriseren kan het ook zijn dat het type auto wordt voorspeld, zolang het type maar in de trainingsdata zit. Categoriseren is een vorm van Supervised Machine Learning.

Clustering

Welke doelgroep segmenten zijn er. Nu kun je checken of de doelgroep van je product net zo is als dat je zelf denkt. Het verschil tussen Clustering en Categoriseren is dat bij Clustering de uitkomst buiten de trainingsdata ligt.

Het begint allemaal met het stellen van de juiste vraag

In de vraag zit het antwoord in besloten is een bekend gezegde. Zo ben je voor predictive analysing meerdere onderwerpen nodig. In het voorbeeld van de creditcard fraude is het belangrijk om te weten welke data je nodig bent. Zo is het handig om te starten met wat jij verwacht dat de meest waarschijnlijke oorzaken zijn van creditcardfraude. Het kennen en toepassen van de juiste Machine Learning-categorie.

Van ruwe data naar trainingsdata.

Een ruwe diamantsteen omzetten naar een mooi gepolijste diamant. Op basis van de ruwe handelingsdata hebben we een script ontwikkeld die filtert uit de ruwe data hoeveel keer een bepaalde handeling wordt uitgevoerd. Dit itererende proces is in de praktijk het meeste werk. Het verhaal gaat verder na de afbeelding


Trainingsdata script node.js | foto 3

Machine Learning algoritme keuze

De keuze van het Machine Learning algoritme wordt in eerste instantie bepaald door in welke categorie de vraag valt. Valt de vraag binnen regressie of categoriseren? Binnen deze categorieën zijn er ook nog verschillende algoritmes en bij supervised Machine Learning is het dankzij de controle waardes het succes meetbaar. In onze case waarbij we kunnen voorspellen hoeveel procent van de gebruikers gaat afhaken kunnen dit met 90% zekerheid stellen.


Microsoft Azure Machine Learning Training Experiment | foto 2

Model

Voordat je voorspellingen kunt doen moet je eerst een model trainen. Een model is computergegeneerde regelset die kan worden toegepast op nieuwe data. Wanneer je nieuwe data aan het model gaat voeden gaat het model voorspellingen doen. Zo hebben wij een model of een gebruiker gaat afhaken of niet. Dit model voeden wij een aantal analysepunten en zo kunnen wij de kans berekenen of de gebruiker lid blijft of niet.


Microsoft Azure Machine Learning Predictive Experiment, AzureML | foto 1

Beter dan willekeurig is een enorme winst. Als je al 1% beter bent dan compleet willekeurig dan is het de moeite waard om in te zetten. Dit zorgt ervoor dat je op dit moment net iets beter bent dan de concurrent. Wie wil nu niet beter zijn dan de concurrent een manier is om beter gebruik te maken van de bestaande data!


Machine Learning iteration model | foto 4

Deze blog is geschreven door Dion van Velde en verscheen op Colours.nl en mijn eigen blog Qdraw

Dit bericht is geschreven door: Dion

Tags: , , , ,

Gecategoriseerd in: