Uw dataset voorbereiden voor training | Qlik Cloud Help
Ga naar hoofdinhoud Ga naar aanvullende inhoud

Uw dataset voorbereiden voor training

U traint een dataset om uw machine learning-vraag te beantwoorden. De trainingsdataset bevat een kolom voor elke functie en een kolom die het doel bevat. De machine learning-algoritmen leren algemene patronen uit deze rijen met gegevens om een model te genereren dat het doel kan voorspellen.

Om de dataset klaar te maken voor machine learning, moet u uw gegevens begrijpen en de benodigde gegevenspunten verzamelen. Mogelijk moet u ook een deel van de gegevens transformeren en gegevens verwijderen die niet relevant zijn voor uw use case.

Welke gegevens moet u verzamelen?

Definieer uw machine learning-vraag nauwkeurig en beslis precies wat er moet worden geaggregeerd om die vraag te benaderen:

  • Als u wilt voorspellen welke klanten zullen vertrekken, moet u een dataset aggregeren waarbij elke rij een klant vertegenwoordigt, elke functiekolom een functie vertegenwoordigt die die klant beschrijft, en de doelkolom aangeeft of die klant in een bepaalde tijdsperiode is vertrokken.

  • Als u wilt voorspellen wat de verkoop zal zijn voor een bepaalde maand en regio, moet u een dataset aggregeren waarbij elke rij een bepaalde maand voor een bepaalde regio vertegenwoordigt, elke functiekolom een functie vertegenwoordigt die de activiteiten van die maand in die regio beschrijft, en de doelkolom de verkoopopbrengst voor die regio in die maand is.

Probeer te achterhalen welke zaken het doel kunnen beïnvloeden en kijk of die gegevens kunnen worden verzameld. Onthoud dat de voorspellende algoritmen alleen patronen kunnen identificeren die daadwerkelijk aanwezig zijn. Misschien moet u extra functies verzamelen of maken om extra informatie te extraheren?

U moet ook bepalen hoeveel gegevens u moet verzamelen voordat u nauwkeurig kunt voorspellen. Hoe lang duurt het voordat de gebeurtenis representatief wordt? Overweeg de volgende voorbeelden:

  • Klanten moeten 60 dagen lid zijn geweest voordat u kunt voorspellen of ze op dag 90 zullen vertrekken.

  • De kosten van verzekeringsclaims zijn pas na een paar maanden bekend, dus u kunt claims uitsluiten die minder dan zes maanden oud zijn.

Maak onderscheid tussen tijdvariante en niet-tijdvariante gegevens. Zijn de gegevens bij tijdvariante gegevens voorzien van een tijdstempel om op de juiste manier te worden geaggregeerd?

Zullen de gegevens beschikbaar zijn op het moment van de voorspelling?

Zorg ervoor dat alle functies die u in de trainingsdataset opneemt, ook beschikbaar zullen zijn voor toekomstige voorspellingen. Het is een veelgemaakte fout om het model te trainen op functies die u beschikbaar hebt voor historische gegevens, maar die niet beschikbaar zullen zijn op het moment dat u in de toekomst een voorspelling doet. Bij het doen van voorspellingen op nieuwe gegevens moet het machine learning-algoritme waarden hebben voor alle functies die beschikbaar waren in de trainingsdataset.

Zijn meer gegevens beter?

Steekproefgrootte

Een groter volume aan gegevens leidt doorgaans tot betrouwbaardere modellen. Alle extra relevante gegevenspunten zullen helpen, of dit nu nieuwe of historische waarnemingen zijn.

Aantal functies

Het kan verleidelijk zijn om alle mogelijke variabelen in het model op te nemen, ongeacht de relevantie voor de beoogde uitkomst. Eenvoudiger is meestal beter. Het is over het algemeen beter om een kleiner aantal functies in het model te gebruiken.

Wanneer er meer functies zijn, kan er een groter risico zijn dat de ware onderliggende relatie die u wilt ontdekken, mogelijk wordt verborgen. Het voorspellende model kan alle functies gebruiken om met een reeks ingewikkelde regels te komen die goed presteren ten opzichte van de gegevens die zijn gebruikt om het model te trainen. Maar het voorspelde doel wordt misschien eigenlijk maar door één of twee functies beïnvloed. Het model is mogelijk niet goed in het generaliseren naar gegevens buiten wat in de training is gebruikt, wat zou resulteren in slechte voorspellende prestaties wanneer het wordt toegepast op nieuwe gegevens.

Overfitting

Overfitting betekent dat een model te complex is en daardoor onbetrouwbaar is voor het voorspellen van nieuwe gegevens. Overfitting treedt meestal op wanneer er te veel functies zijn in verhouding tot het aantal beschikbare gegevenspunten. U hebt bijvoorbeeld mogelijk slechts 50 rijen met gegevens en 100 functiekolommen in de dataset.

Zijn uw trainingsgegevens relevant?

Een machine learning-algoritme vindt patronen in de gegevens die u het voedt en gebruikt die patronen om in de toekomst voorspellingen te doen over gegevens. Wanneer u voorspellingen doet op nieuwe gegevens, gaat u ervan uit dat deze vergelijkbaar zijn met de trainingsgegevens. Om deze reden is het belangrijk dat de trainingsdataset statistisch lijkt op de gegevens waarop u voorspellingen gaat doen.

Als de markt of het bedrijf aanzienlijk is veranderd ten opzichte van wat uw trainingsdataset beschrijft, gebruikt u waarschijnlijk een verouderde dataset die zal leiden tot onnauwkeurige voorspellingen. Mogelijk moet u een nieuwe trainingsdataset maken en alleen gegevens gebruiken die zijn verzameld nadat de wijziging heeft plaatsgevonden.

Overweeg het voorbeeld over verkoopvoorspellingen in Machine learning begrijpen. Laten we zeggen dat we gegevens in ons algoritme hebben ingevoerd die de advertentie-uitgaven op televisie, radio en in kranten vertegenwoordigden, evenals de verkoopopbrengsten voor historische zakelijke kwartalen. De gegevens zijn echter verzameld in de jaren 80. Nu adverteren we dat product niet meer op de radio en adverteren we het product bijna uitsluitend online. Ons getrainde algoritme zou slecht presteren bij het voorspellen van de verkoop voor het huidige zakelijke kwartaal, omdat de trainingsgegevens niet representatief zijn voor het huidige bedrijf.

De gegevens verkennen

Gebruik uw zakelijke kennis om de gegevens te begrijpen en te valideren. Als de gegevens niet overeenkomen met uw aannames, kan dit dan duiden op gegevensproblemen of kan het betekenen dat uw aannames onjuist zijn?

Onbetrouwbare functies verwijderen

Overweeg kolommen uit de dataset uit te sluiten waarbij:

  • Er een hoge concentratie van één waarde is (lage kardinaliteit). Bijvoorbeeld een kolom met de waarden "rood", "groen", "blauw" waarbij 90 procent van de waarden "rood" is.

  • De waarden zeer uniek zijn (hoge kardinaliteit).

  • De meeste waarden null zijn.

Gecorreleerde functies aanpakken

Verwijder overtollige functies, zoals sterk gecorreleerde functies die dezelfde of zeer vergelijkbare informatie bieden. Overweeg om een enkele functie te selecteren uit groepen die hetzelfde gedrag in de gegevens lijken vast te leggen. Probeer te bepalen of er één functie is die de andere aanstuurt.

Null-waarden vervangen

Verken uw gegevens om erachter te komen of er ontbrekende waarden zijn in belangrijke gegevenspunten, zoals het doel of belangrijke functies. Om waarden uit een schaarse kolom te gebruiken, kunt u null-waarden vervangen door "overig" of "onbekend". Of misschien moet u de gegevensverzameling opnieuw beoordelen.

Doelbereik

Kijk naar de verdeling van de gegevens. Als de verdeling van uw doelgegevens te veel verspreid is in verhouding tot uw steekproefgrootte, kan het moeilijk zijn om een patroon in uw gegevens te vinden.

Wat is het bereik van de gegevenswaarden? Er zijn enkele uitdagingen bij het voorspellen van gegevenswaarden buiten het bereik. Lees meer in Extrapolatie en interpolatie.

Zijn er afwijkingen in de verdeling? Scheefheid, staarten en multimodale vormen in uw gegevens vereisen mogelijk extra gegevenstransformatie of verdere functie-engineering. Probeer categorieën met een laag volume te groeperen en staarten in numerieke functies af te ronden of te verwijderen.

Uitschieters elimineren

Overweeg om waarnemingen met uitschieterwaarden in de functiekolommen te verwijderen. Uitschieters kunnen het vermogen van een algoritme om algemene patronen in de gegevens te onderscheiden, belemmeren. Het is misschien beter om naar een kleinere subset van gegevens te kijken die een strakkere spreiding in de doelkolom heeft.

Gegevensgroepering

U kunt uw resultaten mogelijk verbeteren door de gegevens in verschillende datasets te splitsen en deze te gebruiken om afzonderlijke modellen te trainen. Baseer de gegevensgroepering op een of meer functies.

Gegevenslekken

Gegevenslekken betekent dat de gegevens die worden gebruikt om een machine learning-algoritme te trainen, de informatie bevatten die u probeert te voorspellen.

GERELATEERD LESMATERIAAL:

Meer informatie

Was deze pagina nuttig?

Als u problemen ervaart op deze pagina of de inhoud onjuist is – een tikfout, een ontbrekende stap of een technische fout – laat het ons weten!