Hvornår og hvorfor skal du standardisere dine data?

Source:

Standardisering er en vigtig teknik, der for det meste udføres som et forbehandlingstrin før mange Machine Learning-modeller for at standardisere rækkevidden af funktioner i inputdatasættet.

Nogle ML-udviklere har en tendens til at standardisere deres data blindt før “hver” Machine Learning-model uden at gøre sig umage med at forstå, hvorfor det skal bruges, eller endda om det er nødvendigt eller ej. Så målet med dette indlæg er at forklare hvordan, hvorfor og hvornår man skal standardisere data.

Standardisering

Standardisering kommer ind i billedet, når funktioner i input datasæt har store forskelle mellem deres intervaller, eller simpelthen når de er målt i forskellige måleenheder (f.eks. pund, meter, mil … osv.).

Disse forskelle i intervallerne af oprindelige funktioner giver problemer for mange maskinlæringsmodeller. For de modeller, der er baseret på afstandsberegning, vil f.eks. afstanden, hvis en af funktionerne har et bredt interval af værdier, blive styret af netop denne funktion.

For at illustrere dette med et eksempel : lad os sige, at vi har et 2-dimensionelt datasæt med to funktioner, Højde i meter og Vægt i pund, der spænder henholdsvis fra Meter og Pund. Uanset hvilken afstandsbaseret model, der udføres på dette datasæt, vil vægtfeaturen dominere over højdefeaturen og bidrage mere til afstandsberegningen, blot fordi den har større værdier i forhold til højden. Så for at undgå dette problem er løsningen at omdanne funktioner til sammenlignelige skalaer ved hjælp af standardisering.

Hvordan standardiserer man data?

Z-score

Z-score er en af de mest populære metoder til standardisering af data, og kan gøres ved at trække gennemsnittet fra og dividere med standardafvigelsen for hver værdi af hver funktion.

Når standardiseringen er udført, vil alle features have en middelværdi på nul, en standardafvigelse på én og dermed den samme skala.

Der findes andre standardiseringsmetoder, men for enkelhedens skyld nøjes jeg i denne historie med Z-score-metoden.

Hvornår skal data standardiseres og hvorfor?

Som det fremgår ovenfor, udføres standardisering for afstandsbaserede modeller for at forhindre, at funktioner med større intervaller dominerer afstandsmetrikken. Men grunden til, at vi standardiserer data, er ikke den samme for alle maskinlæringsmodeller og er forskellig fra model til model.

Så før hvilke ML-modeller og metoder skal du standardisere dine data og hvorfor?

1- Før PCA:

I Principal Component Analysis får funktioner med store varianser/brede intervaller mere vægt end dem med lav varians, og de ender derfor med at dominere de første hovedkomponenter (komponenter med maksimal varians) på ulovlig vis. Jeg brugte ordet “uberettiget” her, fordi grunden til, at disse funktioner har høje varianser i forhold til de andre, blot er, at de blev målt i forskellige skalaer.

Standardisering kan forhindre dette ved at give samme vægt til alle funktioner.

2- Før Clustering:

Clustering-modeller er afstandsbaserede algoritmer, for at måle ligheder mellem observationer og danne klynger bruger de en afstandsmetriks. Så funktioner med store intervaller vil have en større indflydelse på klyngedannelsen. Derfor er der behov for standardisering, før der opbygges en klyngemodel.

3- Før KNN:

k-nærmeste naboer er en afstandsbaseret klassifikator, der klassificerer nye observationer baseret på lighedsmål (f.eks. afstandsmålinger) med mærkede observationer i træningssættet. Standardisering gør, at alle variabler bidrager lige meget til lighedsmålingerne .

4- Før SVM

Support Vector Machine forsøger at maksimere afstanden mellem det adskilte plan og støttevektorerne. Hvis et element har meget store værdier, vil det dominere over andre elementer ved beregning af afstanden. Så standardisering giver alle funktioner den samme indflydelse på afstandsmetrikken.

Kilde:

Kilde: Arun Manglick: arun-aiml.blogspot.com

5- Før måling af variabel betydning i regressionsmodeller

Du kan måle variabel betydning i regressionsanalyse, ved at tilpasse en regressionsmodel ved hjælp af de standardiserede uafhængige variabler og sammenligne den absolutte værdi af deres standardiserede koefficienter. Men hvis de uafhængige variabler ikke er standardiserede, bliver det meningsløst at sammenligne deres koefficienter.

6- Før Lasso- og Ridge-regression

LASSO- og Ridge-regressioner lægger en straf på størrelsen af de koefficienter, der er knyttet til hver enkelt variabel. Og variablernes skala vil påvirke, hvor stor straffen vil blive anvendt på deres koefficienter. Fordi koefficienter af variabler med stor varians er små og dermed mindre straffet. Derfor er standardisering nødvendig, før begge regressioner tilpasses.

Falde, hvor standardisering ikke er nødvendig?

Logistisk regression og træbaserede modeller

Logistisk regression og træbaserede algoritmer, såsom beslutningstræ, tilfældig skov og gradient boosting, er ikke følsomme over for variablernes størrelse. Så standardisering er ikke nødvendig, før du tilpasser denne type modeller.

Afslutning af datastandardisering

Som vi så i dette indlæg, afhænger det af, hvornår du skal standardisere, og hvornår du ikke skal, af hvilken model du vil bruge, og hvad du vil gøre med den. Så det er meget vigtigt for en ML-udvikler at forstå den interne funktion af maskinlæringsalgoritmer, for at kunne vide hvornår data skal standardiseres og for at kunne bygge en succesfuld maskinlæringsmodel.

N.B: Listen over modeller og metoder, hvor standardisering er nødvendig, præsenteret i dette indlæg, er ikke udtømmende.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.