Van datalake naar AI-toepassing

Van Datalake naar AI-toepassing

 
Van datalake naar AI-toepassing
 

Het CRISP-DM framework is de oplossing


Bedrijven beschikken tegenwoordig over grote hoeveelheden data die via verschillende kanalen worden verzameld. Complexe afhankelijkheden in de data maken het een uitdaging deze data overzichtelijk en kostenefficiënt op te slaan. Datalakes zijn hiervoor een oplossing. Maar hoe gebruik je de data daarin voor AI-toepassingen? Het CRISP-DM framework voor bigdataprojecten biedt volgens Fabian Langer en Kouros Pechlivanidis hiervoor een goede oplossing.

In een eerder artikel heeft Thomas Mons beschreven hoe bedrijven dataoplossingen kostenefficiënt kunnen ontsluiten in de cloud. Bij het inrichten van de data-infrastructuur zijn datalakes en datawarehouses cruciaal. Datalakes bestaan uit grote hoeveelheden platte data met veel features, die vervolgens voor AI-toepassingen kunnen worden gebruikt. Datawarehouses bestaan daarentegen juist uit gestructureerde en gefilterde data, wat deze toepassingen ideaal maakt voor dashboarding.

Nadat bedrijven hun opslagsystemen met complexe afhankelijkheden naar een datalake hebben gemigreerd, kan er gekeken worden naar mogelijkheden om data voor AI-toepassingen te gebruiken. 

CRISP-DM

Methodologieën uit de wetenschappelijke wereld kunnen behulpzaam zijn bij datasolutionsprojecten. Een veelgebruikte methodologie voor bigdataprojecten die goed aansluit op het agile gedachtengoed, is het cross-industry process for data mining (CRISP-DM). CRISP-DM onderscheidt zes fases in een datasolutionsproject:

  1. Business understanding

  2. Data understanding

  3. Data preparation

  4. Data modeling

  5. Evaluation

  6. Deployment

Hoe kun je elk van deze zes fases gebruiken om een bigdataproject te structureren?

Auteurs:

Fabian Langer Lead Kenniscentrum Data Solutions

Fabian Langer
Lead Kenniscentrum Data Solutions

Kouros Pechlivanidis Young Professional Data Solutions

Kouros Pechlivanidis
Young Professional Data Solutions

1. Business understanding

De eerste stap naar een geïmplementeerde AI-toepassing is het probleem begrijpen vanuit zakelijk perspectief. Relevante stakeholders en management stellen samen een probleemdefinitie op en bespreken de doelstellingen van het project. Om tijdens het project te kunnen bepalen of de projectdoelstellingen behaald zullen worden, moeten deze doelstellingen SMART (specifiek, meetbaar, acceptabel, realistisch en tijdgebonden) worden geformuleerd. Aan de hand van de projectdoelstellingen kan een voorbereidend projectplan worden opgesteld. Na afloop van deze fase hebben alle stakeholders een duidelijk beeld van het probleem en de succescriteria van het project.

2. Data understanding

Na het opstellen van een probleemdefinitie en voorbereidend plan worden de beschikbare databronnen verder verkend. Ten eerste wordt een duidelijk overzicht gemaakt van de beschikbare data en de bijbehorende bronnen. Vervolgens worden de attributen van de relevante datasets uitgelegd door deze te voorzien van een omschrijving. Tijdens deze fase wordt ook een beschrijvende analyse op de datasets uitgevoerd om te evalueren of de data van voldoende kwaliteit zijn voor verdere analyse. Incomplete of inaccurate data worden gedocumenteerd.

Data understanding is een cruciale stap in CRISP-DM om te bepalen of de data betrouwbaar genoeg zijn om gebruikt te worden in een voorspellend model. Problemen met betrekking tot datakwaliteit worden in een vroeg stadium ontdekt. Dit zorgt ervoor dat er in een verfijnd projectplan rekening kan worden gehouden met de gevonden obstakels.

3. Data preparation

Nadat alle beschikbare data in kaart zijn gebracht, worden de data verder verfijnd om te kunnen worden gebruikt voor een model. Hiervoor beschrijft de industrie twee subfases: data cleaning en data transformation. Na deze fase zijn de data van voldoende kwaliteit om verder te worden verwerkt in een model.

Data cleaning vs data transformation

Tijdens de datacleaningsubfase worden alle incomplete, incorrecte, irrelevante of gedupliceerde data verwijderd uit de relevante datasets. Data transformation is het proces waarin de structuur en formatting van de data worden aangepast, zodat deze aansluiten bij het model. In de datatransformationsubfase worden dus geen data verwijderd uit de datasets.

Data cleaning en data transformation worden vaak geautomatiseerd door gebruik te maken van Extract, Transform en Load (ETL) Pipelines. Een ETL Pipeline bestaat uit een aantal geautomatiseerde processen waarin de data eerst uit de bron worden geladen (Extract), vervolgens worden getransformeerd (Transform) en tot slot worden weggeschreven naar een nieuwe doellocatie (Load). ETL Pipelines zijn vaak event-driven. Dit betekent dat nieuwe data bij het binnenkomen op de bronlocatie het ETL-proces starten. Hierdoor blijven de data op de doellocatie vers.

Veel bedrijven willen te snel beginnen met het bouwen van complexe AI-toepassingen, terwijl de eerste drie fases van CRISP-DM vaak niet de nodige aandacht krijgen.

4. Data modeling

De verschillende fases binnen CRISP-DM zijn cyclisch waardoor ze goed bij het agile gedachtengoed passen. Dit betekent dat de beslissingen die in eerdere fases zijn genomen niet definitief zijn, maar continu worden aangescherpt op basis van nieuwe bevindingen. Dit is ook het geval tijdens de vierde fase van CRISP-DM – data modeling – want ETL Pipelines worden vaak gebouwd met een machinelearningcategorie in gedachten. Hierbij heb je de keuze uit supervised en unsupervised learning. Zo komt het gedurende het werkproces voor dat je een stap teruggaat naar data preparation om je model met betere data te voeden. 

Supervised learning. Hierbij zijn de te leren eigenschappen in de dataset beschikbaar. Bij een image-recognitiondataset zouden dan naast de plaatjes ook de bijbehorende labels voorkomen. Dit is dan ook een goed voorbeeld voor classificatie. Naast classificatie heb je ook regressie waarmee je de relatie tussen de variabelen leert kennen. Bijvoorbeeld bij het inschatten van de prijs van een woning met behulp van de locatie, het aantal vierkante meters en andere relevante eigenschappen.

Unsupervised learning. Omdat hierbij geen labels beschikbaar zijn, gaat het vaak om het identificeren van verschillen. Als je datapunten met gemeenschappelijke eigenschappen met behulp van machine learning in een groep plaatst, wordt dit 'clustering' genoemd. Deze datapunten kunnen daarna verder worden onderzocht.

Binnen deze categorieën zijn meerdere algoritmen te kiezen en meestal weet je van tevoren niet welk algoritme het beste werkt. Het advies is om te beginnen met de modellen die het snelst te implementeren zijn.

5. Evaluation

Om te kijken hoe goed het model presteert, worden na het trainen tests uitgevoerd. Een test is niets anders dan gegevens in het model invoeren en kijken of het de verwachte output genereert. Elke vorm van AI-algoritme heeft zijn eigen evaluatiemethode, waarbij het cruciaal is om erachter te komen of je model goed is gegeneraliseerd. Goede generalisatie betekent dat je model ook goed presteert op data die het nog niet eerder heeft gezien. 

Dit maakt het noodzakelijk om de data te splitsen in een trainingsdataset en een testdataset. Hierin representeert de testdataset de data die puur voor evaluatiedoeleinden worden gebruikt. Mocht het model wel goed presteren op de trainingsdataset maar niet op de testdataset, dan wordt dit in jargon 'overfitting' genoemd.

Sommige algoritmen hebben hyperparameters. Dit zijn variabelen binnen een algoritme die het leerproces kunnen versnellen en/of verbeteren. Deze horen niet tot de dataset, maar het instellen ervan is wel datasetafhankelijk. Daarom worden binnen deze stap de hyperparameters gefinetuned, zodat de prestatie-indicator verhoogd wordt. Wederom moet men opletten dat dit niet tot overfitting leidt.

6. Deployment

Cloudproviders bieden passende oplossingen om het geproduceerde model in de cloud te deployen. Hoge cloudkosten kunnen echter worden vermeden door het model eerst lokaal te testen. Het trainen van algoritmen kan dagen duren, waardoor het gebruik van dure clouddiensten een verspilling van de beschikbare middelen is. Dit geldt vooral gedurende de momenten waarop je model nog niet klaar is voor productie. In de cloud heb je daarentegen vaak sterkere CPU’s en GPU’s ter beschikking waardoor je veel tijd kunt besparen.

De integratie tussen de softwaretools en de cloud is tegenwoordig erg eenvoudig, waardoor het weinig moeite kost om je bestaande code of modellen naar de cloud te brengen zodra deze aan de productiestandaarden voldoen.

De AI-oplossingen worden in de cloud meestal via webservices ter beschikking gesteld in de vorm van API’s, waar je dan binnen je bedrijf of applicatie weer gebruik van kunt maken. Als je model toegankelijk is vanuit de cloud, vergeet dan niet de productiedata en uitkomsten op te slaan, zodat je model op een later moment weer kan bijleren.

Nawoord

Het hierboven beschreven proces van datalake naar AI-toepassing brengt veel complexiteit met zich mee en is in elke casus uniek. Stichting NISI heeft het doel om bedrijven in dit soort processen te ondersteunen. Daarom gaat het Data Solutions Kenniscentrum graag met professionals binnen het data-domein in gesprek om samen unieke problemen en oplossingen aan te pakken.


Wilt u ook op de hoogte van de laatste ontwikkelingen?
Meld u dan aan voor onze nieuwsbrief