Hvad betyder Feature selection?
Feature selection handler om at vælge, hvilke eksisterende inputvariable en model skal bruge. Det adskiller sig fra feature engineering, hvor man omformer eller konstruerer variable. De to aktiviteter hænger ofte sammen, men besvarer forskellige spørgsmål.
Færre input kan gøre en løsning lettere at vedligeholde og nogle gange forbedre kvaliteten på nye data. Et felt kan være støjende, redundant, dyrt at indsamle eller utilgængeligt på det relevante tidspunkt. At fjerne det kan derfor have værdi ud over en teknisk score.
Udvælgelsen kan bygge på faglig viden, statistiske tests, modelbaserede mål eller forsøg med forskellige kombinationer. Ingen metode giver automatisk et universelt sæt 'vigtige' felter. Resultatet afhænger af model, data og det mål, man forsøger at forudsige.
Forskellige metoder besvarer forskellige spørgsmål
En simpel filtermetode kan fjerne variable med meget lidt variation. Andre metoder vurderer sammenhæng med målet eller bruger en model til at udpege nyttige input. Ved rekursiv udvælgelse gentages træning, mens variable fjernes eller vælges.
To stærkt beslægtede variable kan erstatte hinanden i en model. Et lavt mål for den ene betyder derfor ikke nødvendigvis, at informationen er irrelevant. Fortolk resultaterne sammen med kendskab til dataenes betydning.
Udvælg inden for træningsprocessen
Hvis features udvælges ved at se på hele datasættet før split, kan information fra testdata påvirke modellen. Udvælgelsen skal indgå i den relevante trænings- og valideringsproces, eksempelvis som et trin i en pipeline.
Medregn også driftens krav. Et felt med en lille kvalitetsgevinst kan være ufordelagtigt, hvis det kræver en ustabil integration eller omfattende manuel registrering. Dokumentér både den målte effekt og den praktiske begrundelse.
Et eksempel fra praksis
Et illustrativt projekt vil estimere behandlingstid for serviceopgaver. Den første model får mange felter fra et sagsstyringssystem. Teamet undersøger, om en mindre samling med opgavetype og få kendte egenskaber klarer sig næsten lige så godt.
Et felt viser sig ofte at være tomt, mens et andet kun findes i en ældre afdeling. Ved at fjerne dem bliver input mere ensartet. Den endelige vurdering sker på tilbageholdte sager, og rapporten viser både ændringen i fejl og den mindre afhængighed af usikre datafelter.
Typiske faldgruber
- Udvælgelse på hele datasættet kan lække information fra testen.
- Modelbaseret betydning kan fejltolkes som et bevis for årsag og virkning.
- Et felt kan være vigtigt i historikken, men mangle eller ændre betydning i drift.
Det skal I afklare
- Er udvælgelsen en del af træningsprocessen uden adgang til testfacit?
- Hvad koster hvert felt at indsamle, validere og vedligeholde?
- Er den enklere model vurderet på de samme relevante fejltyper som den fulde model?
Spørgsmål og svar
Er feature selection det samme som PCA?
Nej. Feature selection vælger blandt eksisterende variable. PCA skaber nye kombinationer af variable som en form for dimensionsreduktion. De ændrer inputrepræsentationen på forskellige måder.
Skal vi altid fjerne korrelerede variable?
Ikke nødvendigvis. Det afhænger af model, formål og fortolkning. Undersøg, om fjernelsen forbedrer stabilitet eller enkelhed uden at skade den relevante kvalitet.
Kilder og videre læsning
De tekniske begreber bygger på nedenstående kilder. Eksemplerne er illustrative og viser, hvordan I kan arbejde med emnet.
- scikit-learn: Feature selection ↗Filtermetoder, modelbaseret udvælgelse og rekursive metoder.
- scikit-learn: Common pitfalls ↗Feature selection og datalækage i evalueringen.

