Datu normalizēšana, izmantojot Pandas un Scikit-Learn

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai

Panākumi a mašīnmācīšanās algoritms lielā mērā ir atkarīgs no modelī ievadīto datu kvalitātes. Reālās pasaules dati bieži ir netīri, un tajos ir novirzes, trūkstošas ​​vērtības, nepareizi datu tipi, neatbilstošas ​​funkcijas vai nestandarta dati. Jebkura no tiem klātbūtne neļaus mašīnmācīšanās modelim pareizi mācīties. Šī iemesla dēļ neapstrādātu datu pārveidošana noderīgā formātā ir būtisks mašīnmācīšanās procesa posms. Viena metode, ar kuru jūs saskarsities vairākas reizes, kad notiek datu priekšapstrāde normalizācija .

Datu normalizēšana ir ierasta mašīnmācīšanās prakse, kas sastāv no pārveidošanas ciparu kolonnas uz a kopējā mērogā. Mašīnmācībā dažas funkciju vērtības vairākas reizes atšķiras no citām. Liekšanas procesā dominēs funkcijas ar augstākām vērtībām. Tomēr tas nenozīmē, ka šie mainīgie ir svarīgāki, lai prognozētu modeļa iznākumu. ** Datu normalizēšana ** pārveido daudzlīmeņu datus tādā pašā mērogā. Pēc normalizācijas visiem mainīgajiem ir a līdzīga ietekme modeli, uzlabojot mācību algoritma stabilitāti un veiktspēju.

Ir vairāki normalizācijas metodes statistikā. Šajā rakstā mēs apskatīsim vissvarīgākos:



avast antivīrusu konta pieteikšanās
  1. Maksimālā absolūtā mērogošana
  2. Min-max funkcijas mērogošana
  3. Z-score metode
  4. Spēcīga mērogošana

Turklāt mēs paskaidrosim, kā tos īstenot Pandas un Scikit-Learn .

Tātad, sāksim


Šajā datu rāmī ir ievades (neatkarīgi mainīgie) a vairāku regresijas modelis lai prognozētu lietotas automašīnas cenu: (1) odometra rādījums (km) un (2) degvielas ekonomija (km/l). Šajā rakstā mēs izmantojam nelielu datu kopu mācību nolūkos. Tomēr reālajā pasaulē izmantotās datu kopas būs daudz lielākas.

import pandas as pd # data frame containing the odometer reading (km) and the fuel economy (km/l) of second-hand cars df_cars = pd.DataFrame([[120000, 11], [250000, 11.5], [175000, 15.8], [350000, 17], [400000, 10]], columns=['odometer_reading', 'fuel_economy']) df_cars view raw data_normalization.py hosted with ❤ by GitHub

Attēls ziņai

Attēls ziņai

Kā redzat, odometra rādījumi svārstās no 120000 līdz 400000, bet degvielas ekonomija ir no 10 līdz 17. vairākkārtēja lineāra regresija Modelis augstākas vērtības dēļ svarīgāk novērtēs odometra rādījumu mainīgo nekā degvielas ekonomijas atribūts. Tomēr tas nenozīmē, ka odometra rādījuma atribūts ir svarīgāks kā prognozētājs. Lai atrisinātu šo problēmu, mums ir ** jā normalizē ** abu mainīgo vērtības. ❤️

selēns izpilda javascript python

The maksimālā absolūtā mērogošana maina katru funkciju no -1 līdz 1 katru novērojumu dalot ar tā maksimālo absolūto vērtību.

Attēls ziņai

Mēs varam piemērot maksimālā absolūtā mērogošana iekšā Pandas izmantojot .max () un . (Sadaļa) metodes, kā parādīts zemāk.

Attēls ziņai

safemars crypto kā nopirkt

Alternatīvi, mēs varam izmantot Scikit-mācīties bibliotēka, lai aprēķinātu maksimālā absolūtā mērogošana . Pirmkārt, mēs izveidojam abs_scaler ar MaxAbsScaler klase. Pēc tam mēs izmantojam piemērota metode lai uzzinātu nepieciešamos parametrus datu mērogošanai ( maksimālā absolūtā vērtība no katras funkcijas). Visbeidzot, mēs pārveidojam datus, izmantojot šos parametrus.

# apply the maximum absolute scaling in Pandas using the .abs() and .max() methods def maximum_absolute_scaling(df): # copy the dataframe df_scaled = df.copy() # apply maximum absolute scaling for column in df_scaled.columns: df_scaled[column] = df_scaled[column] / df_scaled[column].abs().max() return df_scaled # call the maximum_absolute_scaling function df_cars_scaled = maximum_absolute_scaling(df_cars) df_cars_scaled view raw maximum_absolute_scaling.py hosted with ❤ by GitHub

Attēls ziņai

Kā jūs varat novērot, mēs iegūstam tādus pašus rezultātus, izmantojot Pandas un Scikit-mācīties . Nākamajā diagrammā parādīti pārveidotie dati pēc maksimālās absolūtās mērogošanas.

Attēls ziņai

#datu zinātne #programmēšana #dziļa mācīšanās

virzienā uz datascience.com

Datu normalizēšana, izmantojot Pandas un Scikit-Learn

Pilns ceļvedis datu kopu tīrīšanai - 1. daļa. Mašīnmācīšanās algoritma panākumi lielā mērā ir atkarīgi no modelī ievadīto datu kvalitātes.

Skatīt Arī: