Microsoft Azure Machine Learning Studio is een online tool van Micosoft waarmee je predictive analytics-oplossingen kunt ontwikkelen, testen en implementeren. De uitkomsten van Machine Learning Studio kun je middels webservices gebruiken in elke willekeurige BI tool en uiteraard ook in Excel.
In deze blog bouwen we een eerste experiment in Machine Learning Studio (ML Studio). Het doel is om een prediction model te maken waarbij we de benzineprijzen proberen te voorspellen op basis van de olieprijzen en de valutakoersen.
Inloggen Azure Machine Learning Studio
Ga naar https://studio.azureml.net/home en log in met een Microsoft account. Mocht je deze niet hebben, kun je een dergelijk account hier ook aanmaken.
Importen dataset
We starten met het importen van de dataset.
Als input gebruiken we in deze blog een dataset waarin vanaf januari 2006 tot en met september 2017 de volgende gegevens (per dag) zijn opgenomen:
- Benzineprijs Euro 95
- Olieprijs per vat
- Gemiddelde valutakoers USD/ EUR
Het bestand is hier te downloaden: BenzinePrijzen 2006 – 2017.
De gegevens zijn (voornamelijk) verzameld vanaf de websites van het CBS en geprepareerd om te kunnen worden ingelezen.
Ga in ML Studio naar Datasets en maak een nieuwe dataset aan:
Kies voor de optie From Local File en selecteer het juiste bestand.
Zodra de dataset is ingeladen verschijnt deze in de totale lijst met datasets
Nieuw experiment
Maak in ML Studio nu een nieuw experiment aan.
Kies voor Blank experiment
Zoek onder Saved Datasets – > My Datasets de ingeladen dataset met de benzineprijzen en sleep deze op het canvas.
Clean missing data
In de dataset zijn niet alle gegevens gevuld. ML Studio heeft hiervoor een handige module die de ontbrekende data kan aanvullen (of eventueel verwijderen). Hiermee wordt voorkomen dat deze rijen de uitkomst negatief beïnvloeden.
Sleep de module Clean missing data op het canvas en verbind deze met de dataset.
Feature selection
In de volgende stap gebruiken we de module Filter Based Feature Selection. Deze module helpt de variabelen te vinden die daadwerkelijk een voorspellend karakter hebben ten aanzien van de ‘target’ variabele.
Sleep de Filter Based Feature Selection module op het canvas en verbind deze met de Clean Missing Data module
Start onder de Properties de Launch Column Selector.
Selecteer de naam van de kolom die we willen voorspellen. In ons geval heet deze kolom Benzine Euro95.
Zorg dat de module Filter Based Feature Selection geselecteerd is, en kies onder in het scherm voor Run -> Run Selected.
ML Studio gaat deze module nu uitvoeren zodat je de uitkomsten hiervan kunt bekijken.
Nadat ML Studio deze taak heeft uitgevoerd, kun je met de rechtermuisknop op de module klikken en kiezen voor Features en vervolgens voor Visualize.
In dit scherm zie je dat ML Studio de features Valutakoers en Oil ziet als sterk voorspellende variabelen voor de Benzineprijs. Hoe dichter bij de 1, hoe groter de voorspellende waarde.
Splitsen van de data
We splitsen de data op in een gedeelte waarmee we het model gaan trainen en een gedeelte waarmee we het model gaan evalueren.
Voeg een Split data module toe aan het canvas en stel de fractiom of rows in op 0,8 (80%).
Trainen van het model
In de volgende stap gaat het model daadwerkelijk getraind worden.
Voeg een Train model module toe aan het canvas. Verbind het rondje aan de rechterkant met de Split data module.
De Train model module heeft naast de data ook nog een algoritme nodig op basis waarvan het model gemaakt moet worden. In deze blog kiezen wij voor het lineair regression model. Voeg ook deze module toe aan het canvas en verbind deze met het rondje aan de linkerkant van de Train model module.
Kies onder de Properties voor de Launch Column Selector.
Selecteer ook hier weer de kolom Benzine Euro95 als kolom die voorspeld moet worden.
Score en Evaluatie
De laatste twee modules die moeten worden toegevoegd zijn de Score module en de Evaluate module.
Verbind de tweede dataset vanuit de Split Data module met de rechterkant van de Score module. Dit is de 20% evaluatie dataset waarmee het model getest wordt.
Evalueren van het resultaat
Klik onderin het scherm op Run. ML Studio gaat nu het hele model uitvoeren.
Zodra het proces is afgerond, kun je met de rechtermuisknop klikken op de Evaluate module en kiezen voor Evaluation Results – > Visualize.
Een vluchtige blik op de resultaten leert dat de Coefficient of Determination (Determinatiecoëfficiënt) maar liefst 0,94 is. Het lijkt erop dat we de benzineprijzen vrij nauwkeurig kunnen bepalen.
Afsluiting
Machine Learning staat steeds meer in de belangstelling. De applicaties waarmee je machine learning kunt toepassen schieten als paddenstoelen uit de grond. Azure Machine Learning Studio is een product uit de Microsoft stack. In deze blog heb je gezien hoe makkelijk het is om een prediction model te maken. Uiteraard komt er bij een daadwerkelijke implementatie nog veel complexiteit om de hoek kijken. Je hoeft echter geen programmeur (meer) te zijn om zelf met Machine Learning aan de slag te kunnen gaan.