Kedy a ako používať StandardScaler?
Keď vlastnosti daného súboru údajov výrazne kolíšu v rámci svojich rozsahov alebo sú zaznamenané v rôznych merných jednotkách, do obrazu vstupuje StandardScaler.
Údaje sú škálované na rozptyl 1 potom, čo sa priemer zníži na 0 pomocou StandardScaler. Ale pri určovaní empirického priemeru údajov a štandardnej odchýlky majú odľahlé hodnoty prítomné v údajoch významný vplyv, ktorý znižuje spektrum charakteristických hodnôt.
rýchle triedenie java
Mnoho algoritmov strojového učenia môže naraziť na problémy v dôsledku týchto variácií v počiatočných funkciách. Napríklad v prípade algoritmov, ktoré počítajú vzdialenosť, ak má niektorá z vlastností množiny údajov hodnoty s veľkými alebo úplne odlišnými rozsahmi, výpočet vzdialenosti bude riadiť táto konkrétna vlastnosť množiny údajov.
Funkcia StandardScaler sklearn je založená na teórii, že premenné súboru údajov, ktorých hodnoty ležia v rôznych rozsahoch, nemajú rovnaký príspevok k parametrom prispôsobenia modelu a trénovacej funkcii a môžu dokonca viesť k skresleniu predpovedí vytvorených s týmto modelom.
Preto pred zahrnutím funkcií do modelu strojového učenia musíme údaje normalizovať (µ = 0, σ = 1). Na riešenie tohto potenciálneho problému sa bežne používa štandardizácia v inžinierstve funkcií.
Štandardizácia pomocou Sklearnu
sklearn.preprocessing.StandardScaler(*, copy = True, with_mean = True, with_std = True)
Odstránením priemeru z funkcií a ich škálovaním na jednotku rozptylu sa funkcie štandardizujú pomocou tejto funkcie.
Vzorec na výpočet štandardného skóre funkcie je z = (x - u) / s, kde u je priemer trénovacieho prvku (alebo nula, ak with_mean = False) a s je štandardná odchýlka vzorky (alebo jedna, ak with_std = False ).
ako vstreknúť falošnú abstraktnú triedu
Výpočtom príslušných štatistík o funkciách v trénovacej sade sa centrovanie a mierka aplikujú nezávisle na každú funkciu. Potom, na použitie s neskoršími vzorkami pomocou transform(), metóda fit() uloží priemer a štandardnú odchýlku.
Parametre:
Vlastnosti:
Metódy triedy StandardScaler
fit(X[, y, vzorka_váha]) | Táto metóda vypočítava priemer a štandardnú odchýlku, ktoré sa neskôr použijú na škálovanie údajov. |
fit_transform(X[, y]) | Táto metóda vyhovuje parametrom údajov a potom ich transformuje. |
get_feature_names_out([input_features]) | Táto metóda získa názvy prvkov pre transformáciu. |
get_params([deep]) | Táto metóda poskytuje parametre konkrétneho odhadu. |
inverse_transform(X[, copy]) | Zmenšuje veľkosť údajov tak, aby zodpovedala ich pôvodnej podobe. |
čiastočné prispôsobenie(X[, y, hmotnosť_vzorky]) | Priemer a štandardná odchýlka na X sa vypočítajú online na neskoršie škálovanie. |
set_params(**params) | Táto metóda sa používa na nastavenie hodnoty parametrov odhadu. |
transformovať(X[, kópia]) | Táto metóda transformuje údaje pomocou parametrov už uložených v triede. |
Príklad StandardScaler
Najprv naimportujeme požadované knižnice. Aby sme mohli použiť funkciu StandardScaler, musíme importovať knižnicu Sklearn.
úplná pravdivostná tabuľka sčítačky
Potom načítame súbor údajov o dúhovke. Súbor údajov IRIS môžeme importovať z knižnice sklearn.datasets.
Vytvoríme objekt triedy StandardScaler.
Oddelenie nezávislých a cieľových funkcií.
Na implementáciu transformácie do množiny údajov použijeme metódu fit transform().
Syntax:
object_ = StandardScaler() object_.fit_transform(features)
Pôvodne sme vytvorili inštanciu metódy StandardScaler() podľa syntaxe uvedenej vyššie. Okrem toho štandardizujeme údaje pomocou fit_transform() spolu s poskytnutým objektom.
linux $home
kód
# 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_)
Výkon
[[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]