Klassenverdeling
Bij een binair classificatie-probleem kan het zijn dat er meer gegevens zijn verzameld voor een van de twee klassen. Deze ongelijke verdeling tussen de klassen leidt ertoe dat het model meer over de grotere klasse leert dan over de kleinere klasse. U kunt klassenverdeling gebruiken om het model te verbeteren.
Wat is klassenverdeling
In een gegevensverzameling voor binaire classificatie zitten twee klassen. Klassenverdeling is de relatieve frequentie van deze klassen.
Als u een willekeurige munt genoeg keer tost, krijgt u een perfecte verdeling van de twee klassen (kop en munt). De gemiddelde klassewaarde is 0,5 in een perfect verdeeld geval (waarbij één klasse 1 is en de andere 0).
In veel gevallen zal de klassenverdeling niet gelijk zijn. Dit kan ertoe leiden dat het model meer over de grotere klasse leert dan over de kleinere klasse.
Proportionele tendens
Een model kan heel nauwkeurig zijn door te gokken wat de grotere klasse is in niet-evenredige gegevens. Bijvoorbeeld: als 95 procent van de websitebezoekers geen aankoop doet, kan een model 95 procent nauwkeurig zijn door te zeggen dat niemand een aankoop zal doen. Het model leert over de grootste klasse, maar het is vaak belangrijker om over de kleinste klasse te leren. Waarom doet bijvoorbeeld 5 procent van de bezoekers van de website een aankoop?
Effecten van klassenverdeling
Door klassenverdeling uit te voeren op uw gegevens, kunt u een model krijgen dat meer kenmerkgericht is en dat meer over de kleinste klasse heeft geleerd. De mogelijke effecten van het model zijn onder meer:
-
Een hogere F1-score omdat het gewicht van de kleinere klasse is verhoogd.
-
Een iets lagere algehele nauwkeurigheidsscore omdat het minder afhankelijk is van de proportionele tendens.
-
Een informatiever model omdat het afhankelijker is van de kenmerken en hoe het onderscheid maakt tussen de klassen. De SHAP-waarden kunnen informatiever zijn in een model waarin de klassen verdeeld zijn.
In kleine gegevensverzamelingen kan verdeling van de klasse resulteren in het verlies van kenmerkgegevens. Bovendien kan het veranderen van de proporties in de gegevensverzameling ertoe leiden dat informatie verloren gaat waardoor er een tendens kan ontstaan in de modelvoorspellingen.
Klassenverdeling aanbrengen
Voor klassenverdeling van de gegevens, dient u eerst te bekijken wat de ideale verdeling is voor uw specifieke bedrijfscase. Het kan noodzakelijk zijn dat dit ergens tussen 80/20 en 50/50 ligt. Zorg dat de verdeling precies genoeg is zodat u krijgt wat u nodig hebt, omdat als u de klassenverdeling te sterk afstemt, dat kan leiden tot een te sterk aangepast model (overfitting). Test het model met handmatige evaluatiegegevens.
De meest voorkomende methode voor klassenverdeling is undersampling. Dit wordt gedaan door willekeurige voorbeelden te nemen uit de grootste klasse zodat deze meer in balans is ten opzichte van de kleinste klasse. De figuur laat zien hoe voorbeelden uit de grootste klasse in de oorspronkelijke gegevensverzameling worden gehaald om een gegevensverzameling te krijgen met verdeelde klassen.