Når og hvordan bruker du StandardScaler?
Når funksjonene til det gitte datasettet svinger betydelig innenfor deres områder eller registreres i ulike måleenheter, kommer StandardScaler inn i bildet.
Dataene skaleres til en varians på 1 etter at gjennomsnittet er redusert til 0 via StandardScaler. Men når man bestemmer det empiriske gjennomsnittet av dataene og standardavviket, har uteliggere tilstede i data en betydelig innvirkning som reduserer spekteret av karakteristiske verdier.
Mange maskinlæringsalgoritmer kan støte på problemer på grunn av disse variasjonene i startfunksjonene. For algoritmer som beregner avstand, for eksempel, hvis noen av datasetts funksjoner har verdier som har store eller helt andre områder, vil den spesielle funksjonen i datasettet kontrollere avstandsberegningen.
StandardScaler-funksjonen til sklearn er basert på teorien om at datasetts variabler hvis verdier ligger i ulike områder ikke har et like stort bidrag til modellens tilpasningsparametere og treningsfunksjon og kan til og med føre til skjevheter i prediksjonene som er gjort med den modellen.
svever i css
Derfor, før vi inkluderer funksjonene i maskinlæringsmodellen, må vi normalisere dataene (µ = 0, σ = 1). Standardisering i funksjonsteknikk brukes ofte for å løse dette potensielle problemet.
Standardisering ved hjelp av Sklearn
sklearn.preprocessing.StandardScaler(*, copy = True, with_mean = True, with_std = True)
Ved å eliminere gjennomsnittet fra funksjonene og skalere dem til enhetsvarians, standardiseres funksjonene ved å bruke denne funksjonen.
Formelen for å beregne en funksjons standardpoengsum er z = (x - u) / s, der u er treningsfunksjonens gjennomsnitt (eller null hvis with_mean = False) og s er standardavviket til prøven (eller en hvis with_std = False ).
Ved å beregne den relevante statistikken på funksjonene i treningssettet, brukes sentrering og skalering uavhengig av hver funksjon. Deretter, for bruk med senere prøver ved bruk av transform(), lagrer fit()-metoden gjennomsnittet og standardavviket.
Parametere:
Attributter:
Metoder for StandardScaler-klassen
fit(X[, y, sample_weight]) | Denne metoden beregner gjennomsnittet og standardavviket for å bruke senere for å skalere dataene. |
passe_transform(X[, y]) | Denne metoden passer til parametrene til dataene og transformerer dem deretter. |
get_feature_names_out([input_features]) | Denne metoden henter funksjonsnavnene for transformasjonen. |
get_params([dyp]) | Denne metoden gir parametrene til den bestemte estimatoren. |
invers_transform(X[, kopi]) | Den reduserer datastørrelsen for å matche den opprinnelige formen. |
delvis_tilpasning(X[, y, prøvevekt]) | Gjennomsnittet og standardavviket på X beregnes online for senere skalering. |
set_params(**params) | Denne metoden brukes til å angi verdien av estimatorens parametere. |
transform(X[, kopi]) | Denne metoden transformerer dataene ved å bruke parametere som allerede er lagret i klassen. |
Eksempel på StandardScaler
Først vil vi importere de nødvendige bibliotekene. For å bruke StandardScaler-funksjonen må vi importere Sklearn-biblioteket.
Deretter vil vi laste iris-datasettet. Vi kan importere IRIS-datasettet fra sklearn.datasets-biblioteket.
Vi vil lage et objekt av StandardScaler-klassen.
Skille de uavhengige og målfunksjonene.
Vi vil bruke metoden fit transform() for å implementere transformasjonen til datasettet.
Syntaks:
object_ = StandardScaler() object_.fit_transform(features)
Vi bygde først en forekomst av StandardScaler()-metoden etter syntaksen nevnt ovenfor. I tillegg standardiserer vi dataene ved å bruke fit_transform() sammen med det oppgitte objektet.
Kode
# Python program to standardize the data # Importing the required library from sklearn.preprocessing import StandardScaler from sklearn.datasets import load_iris # Loading the dataset X, Y = load_iris(return_X_y = True) # Printing 3 rows of original data print(X[:3, :]) # Creating an object of the StandardScaler class std_scaler = StandardScaler() # Printing 3 rows of the transformed data print(std_scaler.fit_transform(X)[:3, :]) print(std_scaler.mean_)
Produksjon
[[5.1 3.5 1.4 0.2] [4.9 3. 1.4 0.2] [4.7 3.2 1.3 0.2]] [[-0.90068117 1.01900435 -1.34022653 -1.3154443 ] [-1.14301691 -0.13197948 -1.34022653 -1.3154443 ] [-1.38535265 0.32841405 -1.39706395 -1.3154443 ]] [5.84333333 3.05733333 3.758 1.19933333]