Exploring Machine learning with Scikit Learn and Python

Monday, February 25, 2019

In deze blog neemt Frédérique jullie mee naar zijn stage project. Als student aan PXL Hasselt liep hij van oktober 2018 tot januari 2019 stage bij ons, na die stage kreeg hij een contract aangeboden en startte hij in februari in onze data-native bootcamp. Tijdens zijn stage ging hij met machine learning aan de slag. Frédérique werkte met echte dataset als onderdeel van een proof of concept voor een klant. 


Het doel van deze stage was om mails te categoriseren, namelijk is een mail een offerte, een bestelling, spam, …

Wat is Machine Learning

Machine learning applicaties zijn applicaties die met Artificial Intelligence autonoom op zichzelf gaan leren door patroonherkenning op basis van historische data met zijn uitkomsten.
Aan de hand van deze patronen kan een inkomende mail gekoppeld worden aan een bepaalde uitkomst. Bijvoorbeeld een mail waar meerdere malen het woord “bestelling” in voorkomt zal als voorspelling “Order” toegewezen krijgen.

Opbouw applicatie

De applicatie die ik gebouwd heb voor deze stage is gemaakt in Python met als library scikit-learn.
Om te weten hoe deze applicatie best wordt opgebouwd is het belangrijk om te weten welke stappen te ondernemen om te kunnen spreken van een geslaagde opbouw.

Al deze stappen worden in een model gegoten.

  • Inlezen data: de dataset wordt in de applicatie ingelezen
  • Filteren data: de data wordt verschoond zodat enkel relevante data getraind wordt
    • Links
    • Datums
    • Leestekens
    • Stopwoorden
  • Maken model: het model wordt gegenereerd
  • Testen model: het gegenereerde model wordt getest op testdata, de ingelezen data wordt random gesplitst in 80% trainingsdata en 20% testdata
  • Berekenen accuraatheidspercentage: op basis van de testdata wordt er een accuraatheidspercentage berekend
  • Opslaan model: het model wordt opgeslagen en is aanroepbaar binnen andere applicaties

Aanroepen model

Wanneer het model gegenereerd is, is het mogelijk om dit model aan te roepen met bijvoorbeeld een API. Wanneer het model gekoppeld is aan een API is het mogelijk om met een call naar dit model een voorspelling te kunnen laten maken van een bepaalde mail. Het model verwacht een inkomende mail en geeft een voorspelling terug.