Civiele & structurele engineering
Hoe Cross-validation te implementeren voor Betrouwbare Supervised Learning Model Evaluation
Table of Contents
Cross-validation is een techniek die wordt gebruikt om de prestaties van onder toezicht staande leermodellen te beoordelen. Het helpt ervoor te zorgen dat het model goed generaliseert om ongeziene gegevens door de dataset in meerdere subgroepen te verdelen voor training en testen.
Begrijpen van kruisvalidatie
Cross-validatie omvat het verdelen van de dataset in verschillende delen, of vouwen. Het model wordt getraind op een deel van deze vouwen en getest op de resterende vouw. Dit proces wordt meerdere malen herhaald, met verschillende vouwen gebruikt voor het testen van elke keer. De resultaten worden vervolgens gemiddeld om een totale prestatie-indicator te leveren.
Soorten kruisvalidatie
De meest voorkomende types zijn:
- k-Fold Cross-Validation: Verdeelt gegevens in k gelijke delen, traint op k-1 onderdelen en test op het resterende deel.
- Gestratificeerd k-Fold: Zorgt ervoor dat elke vouw de klasseverdeling van de gehele dataset behoudt.
- Laat-één-uit (LOO): Gebruikt één datapunt voor het testen en de rest voor de training, herhaald voor elk datapunt.
Uitvoering van kruisvalidatie in de praktijk
De meeste machine learning bibliotheken bieden ingebouwde functies voor kruisvalidatie. Bijvoorbeeld, in Python's scikit-learn, de functie vereenvoudigt het proces. U moet het model, de dataset en het aantal vouwen specificeren.
Voorbeeld code knipsel:
van sklearn.model selection import cross val score
scores = cross val score(model, X, y, cv=5)
Deze code voert 5-voudige kruisvalidatie uit en geeft de scores voor elke vouw terug.