Structureren van invoertabellen voor modellen voor Machine Learning: Een praktische aanpak

23 oktober 2024 | 4 minuten leestijd

In de meeste machine learning (ML) use-cases, of het nu gaat om een supervised of unsupervised taak, moet de inputdata op een specifieke manier gestructureerd worden om effectieve modeltraining mogelijk te maken. Meestal vertegenwoordigt elke record in een inputtabel een enkele entiteit, of het nu een klant, gebruiker of product is, en bevat deze verschillende kenmerken (kolommen) die de entiteit in detail beschrijven. In veel gevallen, wanneer er sprake is van een een-op-veelrelatie (bijvoorbeeld een klant met meerdere transacties), moeten deze worden geaggregeerd om binnen één record te passen.

Deze gestructureerde aanpak zorgt ervoor dat het model elke entiteit individueel kan analyseren en de verrijkte informatie kan gebruiken om nauwkeurige voorspellingen of groeperingen te maken.

Veelvoorkomende use-cases: Wanneer één record per entiteit nodig is

In veel use-cases is het structuren van je data tot één record per entiteit essentieel voor een effectieve werking van de meeste modellen. Laten we een paar voorbeelden bekijken:

  • Voorspelling van churn (supervised):
    Bij het voorspellen van churn vertegenwoordigt elke rij een klant (of een abonnement). Kenmerken kunnen zijn: klantduur, engagementgegevens, productgebruik en interacties zoals het aantal supporttickets of ontvangen e-mails. Door deze datapunten samen te voegen tot één rij per klant, kunnen modellen zoals beslisbomen, random forests of SVM's (Support Vector Machines) de kans op klantverlies voorspellen.
  • Responsmodellen (supervised):
    Responsmodellen worden gebruikt om te voorspellen of een klant zal reageren op een marketingcampagne, meestal met een binaire uitkomst (ja/nee). Kenmerken kunnen historisch responsgedrag, het aantal ontvangen e-mails in de afgelopen week en aankoopfrequentie zijn. Het model analyseert deze geaggregeerde kenmerken per klant om te voorspellen wie waarschijnlijk zal reageren, wat gerichtere marketinginspanningen mogelijk maakt.
  • Klantsegmentatie (unsupervised):
    Bij klantsegmentatie is het doel om klanten te groeperen op basis van gedeeld gedrag, demografie of koopgedrag. Elke rij vertegenwoordigt een klant die is verrijkt met kenmerken zoals demografie, aankoopgeschiedenis en engagementmetrics. Clusteringalgoritmes zoals k-means worden vervolgens gebruikt om betekenisvolle klantsegmenten te identificeren.

In elk van deze voorbeelden blijkt dat één record per entiteit zeer waardevol is voor het succes van de modellen.

Hoewel deze aanpak in de meeste gevallen werkt, zijn er enkele uitzonderingen, bijvoorbeeld in tijdreeksvoorspellingsmodellen. Bij use-cases zoals verkoopvoorspelling, weersvoorspelling of aandelenanalyse wordt de inputdata niet gereduceerd tot één rij per onderwerp. In plaats daarvan vertegenwoordigt elke rij een specifiek tijdstip, en leert het model van de opeenvolgende data in plaats van geaggregeerde kolommen.

Structureren van invoertabellen voor Machine Learning: Onze aanpak

In de loop der tijd hebben we een gestructureerde aanpak ontwikkeld voor het voorbereiden van inputtabellen voor ML-modellen. Deze methode helpt ons om systematisch de kenmerken te overwegen die moeten worden opgenomen, zodat alle relevante aspecten van de entiteit worden vastgelegd. We beginnen altijd met het selecteren van de unieke identifier voor elke entiteit (bijvoorbeeld klant-ID, gebruiker-ID) en, in gevallen van supervised learning, de doelvariabele die we willen voorspellen (bijvoorbeeld churn ja/nee, respons ja/nee). Vervolgens categoriseren we de kenmerken in vijf verschillende groepen, waarvan er één optioneel is:

  1. Groep 1: entiteitspecifieke variabelen
    Deze kenmerken beschrijven de entiteit zelf. Voor klanten kan dit demografische details omvatten zoals leeftijd, geslacht of land. Dit zijn statische kenmerken die waar zijn ongeacht de relatie met het bedrijf of product.
  2. Groep 2: Relatievariabelen
    Deze groep richt zich op de relatie tussen de entiteit en het bedrijf. Voor klanten kunnen kenmerken de accountaanmaakdatum, loyaliteitstier (brons/zilver/goud) of toegewezen accountmanager omvatten.
  3. Groep 3: Interactiedata
    In deze groep verkennen we alle interacties met het bedrijf die niet worden beschouwd als 'gebruik' van een bepaald product. Het gaat eerder om de interactie tussen een klant en het bedrijf. Bijvoorbeeld, hoeveel e-mails heeft een klant in de afgelopen week, maand of zes maanden ontvangen? Hoeveel aankopen of supporttickets hebben ze in het afgelopen jaar geregistreerd? Door deze data te aggregeren, wordt de intensiteit en recentheid van interacties vastgelegd, wat cruciaal is voor veel voorspellende modellen.
  4. Groep 4: Productgerelateerde data (Harde transacties)
    Deze categorie richt zich op concrete transacties of productgerelateerde data. Voor klanten kan dit omvatten of ze in de afgelopen zes maanden een aankoop hebben gedaan of een actief abonnement hebben. In tegenstelling tot interacties zijn dit harde transacties die de concrete transacties van de klant met het bedrijf weerspiegelen.
  5. Groep 5 (optioneel, voor SaaS): Productgebruik
    In het geval van SaaS-producten legt deze groep vast hoe de klant met de software omgaat. Bijvoorbeeld, heeft de klant in de afgelopen zeven dagen ingelogd? Hoe vaak hebben ze in de afgelopen maand ingelogd? Deze kenmerken helpen de betrokkenheid bij het product zelf te meten.

Continue reading below

Kom in contact

Klaar om je data te gebruiken?

Neem contact op met onze experts voor een gratis consult en ontdek hoe wij je kunnen helpen om het volledige potentieel van jouw data te benutten.

Neem contact op

Of bel ons via 0594 855 888

Deze gestructureerde aanpak helpt ervoor te zorgen dat alle relevante aspecten van de relatie van de entiteit met het bedrijf en zijn producten worden vastgelegd. Aggregatiemethoden kunnen variëren afhankelijk van de use-case, en we passen het aggregatieniveau (bijvoorbeeld week, maand, jaar) aan op basis van de eerste resultaten.

Vuistregel: Aantal records versus aantal kolommen

Een veelgestelde vraag bij het voorbereiden van data voor machine learning is hoeveel kenmerken (kolommen) kunnen worden opgenomen in je inputtabel. Aggregatie leidt vaak tot een brede tabel met veel kolommen, en het beheren van deze balans is cruciaal. Een vaak voorgestelde richtlijn is om te streven naar maximaal ongeveer 10-15 kolommen per 1.000 records. In de praktijk kan de complexiteit van het probleem en de aard van de data echter leiden tot veel bredere tabellen.

Het "Curse of Dimensionality" is een belangrijk concept om rekening mee te houden. Wanneer het aantal kenmerken te groot wordt ten opzichte van de hoeveelheid data, kan de modelprestatie afnemen door overfitting. Dit gebeurt wanneer het model ruis in de data leert in plaats van de onderliggende patronen. Om dit te beperken, kunnen technieken zoals Principal Component Analysis (PCA) of methoden voor kenmerkselectie helpen om het aantal kolommen te verminderen zonder waardevolle informatie te verliezen.

Voor een dieper begrip kun je de Wikipedia-pagina over de Curse of Dimensionality of overfitting bekijken, die meer context bieden over het beheren van brede tabellen in Machine Learning.

Slotgedachten

Voor de meeste machine learning-projecten is het maken van een goed gestructureerde inputtabel cruciaal voor succesvolle modeltraining. Of je nu een supervised model bouwt voor churn- of responsvoorspelling, of een unsupervised model voor klantsegmentatie, het structureren van je data zodat elke entiteit wordt vertegenwoordigd door een enkele verrijkte record is essentieel.

Onze gestructureerde aanpak voor inputtabellen, met duidelijke indelingen van kenmerken, zorgt ervoor dat alle relevante aspecten van de entiteit worden vastgelegd. Deze methode stelt ons in staat om data voor te bereiden die zowel uitgebreid als flexibel is, klaar om in machine learning-modellen te worden gevoerd. En hoewel aggregatietechnieken en het aantal kolommen kunnen variëren afhankelijk van de use-case, maakt de zorgvuldige voorbereiding van inputdata vaak het verschil in de uiteindelijke prestatie van het model.

Zoals altijd is het balanceren van het aantal kenmerken met de hoeveelheid data cruciaal, en is experimenteren met kenmerkselectie en aggregatiemethoden vaak nodig om optimale resultaten te behalen.

Ook jouw data into action brengen?

We leveren maatwerk passend bij jouw organisatie voor een goede prijs. Geen enorme projecten met doorlooptijd van maanden, wij leveren in weken.

Neem contact op

Of bel ons via 0594 855 888