logo

СтандардСцалер у Склеарну

Када и како користити СтандардСцалер?

Када карактеристике датог скупа података значајно флуктуирају унутар својих опсега или су забележене у различитим мерним јединицама, СтандардСцалер улази у слику.

Подаци се скалирају на варијансу од 1 након што се средња вредност смањи на 0 преко СтандардСцалер-а. Али при одређивању емпиријске средње вредности података и стандардне девијације, одступања присутни у подацима имају значајан утицај који смањује спектар карактеристичних вредности.

шта је извоз у линуксу

Многи алгоритми за машинско учење могу наићи на проблеме због ових варијација у почетним функцијама. За алгоритме који израчунавају растојање, на пример, ако било која од карактеристика скупа података има вредности које имају велике или потпуно различите опсеге, та посебна карактеристика скупа података ће контролисати прорачун удаљености.

Функција СтандардСцалер за склеарн је заснована на теорији да променљиве скупа података чије вредности леже у различитим опсезима немају једнак допринос параметрима уклапања модела и функцији обуке и могу чак довести до пристрасности у предвиђањима направљеним са тим моделом.

Стога, пре укључивања карактеристика у модел машинског учења, морамо да нормализујемо податке (µ = 0, σ = 1). Стандардизација у инжењерингу карактеристика се обично користи за решавање овог потенцијалног проблема.

Стандардизација користећи Склеарн

 sklearn.preprocessing.StandardScaler(*, copy = True, with_mean = True, with_std = True) 

Елиминацијом средње вредности из карактеристика и њиховим скалирањем на јединичну варијансу, карактеристике се стандардизују помоћу ове функције.

Формула за израчунавање стандардног резултата функције је з = (к - у) / с, где је у средња вредност функције за обуку (или нула ако је витх_меан = Фалсе), а с је стандардна девијација узорка (или један ако витх_стд = Фалсе ).

Израчунавањем релевантне статистике о карактеристикама у скупу за обуку, центрирање и скалирање се примењују независно на сваку карактеристику. Затим, за употребу са каснијим узорцима који користе трансформ(), метода фит() чува средњу вредност и стандардну девијацију.

Параметри:

    цопи (боол, подразумевано = Тачно):-Ако је овај параметар постављен на Тачно, покушајте да се клоните копија и уместо тога скалирајте узорке на месту. Ово није нужно гарантовано да ће функционисати на месту; на пример, функција би и даље могла да врати копију ако улаз није у облику НумПи низа или сципи.спарсе ЦСР матрице.витх_меан (боол, подразумевано = Тачно):-Ако је параметар постављен на Тачно, скалирајте податке након што их центрирате. Када се примени на ретке матрице, ово не успева (и ствара изузетак), пошто њихово центрирање захтева изградњу густе матрице за коју се, у већини случајева коришћења, очекује да буде превелика да би стала у рам.витх_стд (боол, подразумевано = Тачно):-Овај параметар скалира улазне податке на јединичну варијансу ако је постављена на тачно (или можемо рећи да чини стандардну девијацију јединице).

Атрибути:

    сцале_ (ндарраи који има облик (н_феатурес,) или Ноне):-Подаци су релативно скалирани за сваку карактеристику са нултом средњом вредношћу и јединичном варијансом.меан_ (ндарраи који има облик (н_феатурес,) или Ноне):-То је просечна вредност скупа података за обуку за сваку функцију. Када је аргумент витх_меан постављен на Фалсе, ова вредност је једнака Ноне.вар_ (ндарраи који има облик (н_феатурес,) или Ништа):-То је вредност варијансе сваке карактеристике у скупу података за обуку. Користи се за одређивање скале карактеристика. Када је аргумент витх_стд постављен на Фалсе, ова вредност је једнака Ништа.н_феатурес_ин_ (типа _инт):-Овај атрибут даје број карактеристика уочених приликом постављања.имена_на_на_у_ (ндарраи који има облик (н_феатурес_ин_,)):-Овај атрибут су карактеристике идентификоване именима током уклапања. Кс је дефинисан само када су сва имена његових карактеристика стринг типа података.н_самплес_сеен_ (инт типа или ндарраи који има облик (н_феатурес,)):-Ово даје број узорака које је проценитељ испитао за сваку карактеристику.

Методе класе СтандардСцалер

фит(Кс[, и, тежина_узорка]) Овај метод израчунава средњу вредност и стандардну девијацију да би се касније користили за скалирање података.
фит_трансформ(Кс[, и]) Овај метод се уклапа у параметре података и затим их трансформише.
гет_феатуре_намес_оут([инпут_феатурес]) Овај метод добија називе карактеристика за трансформацију.
гет_парамс([дубоко]) Овај метод даје параметре одређеног проценитеља.
инверзна_трансформација(Кс[, копија]) Смањује величину података како би одговарала њиховом оригиналном облику.
делимично_прилагођено(Кс[, и, тежина_узорка]) Средња вредност и стандардна девијација на Кс се израчунавају на мрежи за касније скалирање.
сет_парамс(**парамс) Овај метод се користи за постављање вредности параметара проценитеља.
трансформ (Кс[, копија]) Овај метод трансформише податке користећи параметре који су већ ускладиштени у класи.

Пример СтандардСцалер-а

Прво ћемо увести потребне библиотеке. Да бисмо користили функцију СтандардСцалер, морамо да увеземо библиотеку Склеарн.

Затим ћемо учитати скуп података о шареници. Можемо да увеземо ИРИС скуп података из библиотеке склеарн.датасетс.

Направићемо објекат класе СтандардСцалер.

прост број у Јави

Раздвајање независних и циљних обележја.

Користићемо метод фит трансформ() за имплементацију трансформације у скуп података.

Синтакса:

 object_ = StandardScaler() object_.fit_transform(features) 

Првобитно смо направили инстанцу СтандардСцалер() методе пратећи горе поменуту синтаксу. Поред тога, стандардизујемо податке коришћењем фит_трансформ() заједно са датим објектом.

Код

 # 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_) 

Излаз

 [[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]