Kad un kā lietot StandardScaler?
Kad dotās datu kopas īpašības ievērojami svārstās to diapazonos vai tiek ierakstītas dažādās mērvienībās, StandardScaler ievada attēlu.
Dati tiek mērogoti līdz dispersijai 1 pēc tam, kad vidējais rādītājs ir samazināts līdz 0, izmantojot StandardScaler. Bet, nosakot datu empīrisko vidējo un standartnovirzi, datos esošās novirzes būtiski ietekmē, kas samazina raksturīgo vērtību spektru.
Daudzos mašīnmācīšanās algoritmos var rasties problēmas šo sākuma funkciju atšķirību dēļ. Algoritmiem, kas aprēķina attālumu, piemēram, ja kādai no datu kopas funkcijām ir vērtības ar lieliem vai pilnīgi atšķirīgiem diapazoniem, šī konkrētā datu kopas funkcija kontrolēs attāluma aprēķinu.
Sklearn funkcija StandardScaler ir balstīta uz teoriju, ka datu kopas mainīgajiem, kuru vērtības atrodas dažādos diapazonos, nav vienāda ieguldījuma modeļa atbilstības parametros un apmācības funkcijā, un tie var pat izraisīt novirzes prognozēs, kas veiktas ar šo modeli.
pārvērst in par virkni java
Tāpēc pirms funkciju iekļaušanas mašīnmācīšanās modelī mums ir jānormalizē dati (µ = 0, σ = 1). Lai risinātu šo potenciālo problēmu, parasti tiek izmantota standartizācija funkciju inženierijā.
Standartizācija, izmantojot Sklearn
sklearn.preprocessing.StandardScaler(*, copy = True, with_mean = True, with_std = True)
Likvidējot pazīmju vidējo vērtību un mērogojot tās līdz vienību dispersijai, funkcijas tiek standartizētas, izmantojot šo funkciju.
Formula objekta standarta rezultāta aprēķināšanai ir z = (x - u) / s, kur u ir apmācības objekta vidējais rādītājs (vai nulle, ja with_mean = False) un s ir izlases standarta novirze (vai viens, ja with_std = False). ).
Aprēķinot atbilstošo statistiku par apmācību komplekta funkcijām, centrēšana un mērogošana tiek piemērota katrai funkcijai neatkarīgi. Pēc tam, lai izmantotu vēlākos paraugos, izmantojot transform(), fit() metode saglabā vidējo un standarta novirzi.
Parametri:
Atribūti:
StandardScaler klases metodes
atbilst(X[, y, parauga_svars]) | Šī metode aprēķina vidējo un standarta novirzi, lai vēlāk izmantotu datu mērogošanu. |
fit_transform(X[, y]) | Šī metode atbilst datu parametriem un pēc tam tos pārveido. |
get_feature_names_out([input_features]) | Šī metode iegūst transformācijas līdzekļu nosaukumus. |
get_params ([dziļi]) | Šī metode dod konkrētā novērtētāja parametrus. |
apgrieztā_transformācija(X[, kopēt]) | Tas samazina datu lielumu, lai tie atbilstu to sākotnējai formai. |
daļēji piemērots(X[, y, parauga_svars]) | X vidējā un standarta novirze tiek aprēķināta tiešsaistē vēlākai mērogošana. |
set_params(**params) | Šo metodi izmanto, lai iestatītu novērtētāja parametru vērtību. |
pārveidot (X[, kopēt]) | Šī metode pārveido datus, izmantojot klasē jau saglabātos parametrus. |
StandardScaler piemērs
Pirmkārt, mēs importēsim vajadzīgās bibliotēkas. Lai izmantotu funkciju StandardScaler, mums ir jāimportē Sklearn bibliotēka.
Pēc tam mēs ielādēsim varavīksnenes datu kopu. Mēs varam importēt IRIS datu kopu no sklearn.datasets bibliotēkas.
Izveidosim StandardScaler klases objektu.
Neatkarīgo un mērķa pazīmju atdalīšana.
Mēs izmantosim fit transform() metodi, lai ieviestu transformāciju datu kopā.
alfabēta numurs
Sintakse:
object_ = StandardScaler() object_.fit_transform(features)
Sākotnēji mēs izveidojām StandardScaler () metodes gadījumu, ievērojot iepriekš minēto sintakse. Turklāt mēs standartizējam datus, izmantojot fit_transform() kopā ar sniegto objektu.
Kods
# 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_)
Izvade
[[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]