Python'da veriler nasıl standartlaştırılır: örneklerle


Bir veri kümesini standartlaştırmak, veri kümesindeki tüm değerlerin ortalama değer 0 ve standart sapma 1 olacak şekilde ölçeklenmesi anlamına gelir.

Bir veri kümesindeki değerleri normalleştirmek için aşağıdaki formülü kullanırız:

x yeni = (x benx ) / s

Altın:

  • x i : veri kümesinin i’inci değeri
  • x : Örnek şu anlama gelir:
  • s : numunenin standart sapması

Python’da bir pandas DataFrame’deki tüm sütunları hızlı bir şekilde normalleştirmek için aşağıdaki sözdizimini kullanabiliriz:

 (df- df.mean ())/df. std ()

Aşağıdaki örnekler bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir.

Örnek 1: tüm DataFrame sütunlarını standartlaştırın

Aşağıdaki kod, bir pandas DataFrame’deki tüm sütunların nasıl standartlaştırılacağını gösterir:

 import pandas as pd

#create data frame
df = pd. DataFrame ({' y ': [8, 12, 15, 14, 19, 23, 25, 29],
                   ' x1 ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' x2 ': [11, 8, 10, 6, 6, 5, 9, 12],
                   ' x3 ': [2, 2, 3, 2, 5, 5, 7, 9]})

#view data frame
df

	y x1 x2 x3
0 8 5 11 2
1 12 7 8 2
2 15 7 10 3
3 14 9 6 2
4 19 12 6 5
5 23 9 5 5
6 25 9 9 7
7 29 4 12 9

#standardize the values in each column
df_new = (df- df.mean ())/df. std ()

#view new data frame
df_new

	        y x1 x2 x3
0 -1.418032 -1.078639 1.025393 -0.908151
1 -0.857822 -0.294174 -0.146485 -0.908151
2 -0.437664 -0.294174 0.634767 -0.525772
3 -0.577717 0.490290 -0.927736 -0.908151
4 0.122546 1.666987 -0.927736 0.238987
5 0.682756 0.490290 -1.318362 0.238987
6 0.962861 0.490290 0.244141 1.003746
7 1.523071 -1.470871 1.416019 1.768505

Her sütunun ortalamasının ve standart sapmasının sırasıyla 0 ve 1’e eşit olduğunu doğrulayabiliriz:

 #view mean of each column
df_new. mean ()

y 0.000000e+00
x1 2.775558e-17
x2 -4.163336e-17
x3 5.551115e-17
dtype:float64

#view standard deviation of each column
df_new. std ()

y 1.0
x1 1.0
x2 1.0
x3 1.0
dtype:float64

Örnek 2: Belirli DataFrame sütunlarını normalleştirin

Bazen bir DataFrame’de yalnızca belirli sütunları normalleştirmek isteyebilirsiniz.

Örneğin, birçok makine öğrenimi algoritması için, belirli bir modeli verilere uydurmadan önce yalnızca tahmin değişkenlerini standartlaştırmak isteyebilirsiniz.

Aşağıdaki kod, bir pandas DataFrame’deki belirli sütunların nasıl standartlaştırılacağını gösterir:

 import pandas as pd

#create data frame
df = pd. DataFrame ({' y ': [8, 12, 15, 14, 19, 23, 25, 29],
                   ' x1 ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' x2 ': [11, 8, 10, 6, 6, 5, 9, 12],
                   ' x3 ': [2, 2, 3, 2, 5, 5, 7, 9]})

#view data frame
df

	y x1 x2 x3
0 8 5 11 2
1 12 7 8 2
2 15 7 10 3
3 14 9 6 2
4 19 12 6 5
5 23 9 5 5
6 25 9 9 7
7 29 4 12 9

#define predictor variable columns
df_x = df[[' x1 ', ' x2 ', ' x3 ']]

#standardize the values for each predictor variable
df[[' x1 ',' x2 ',' x3 ']] = (df_x- df_x.mean ())/df_x. std ()

#view new data frame
df

         y x1 x2 x3
0 8 -1.078639 1.025393 -0.908151
1 12 -0.294174 -0.146485 -0.908151
2 15 -0.294174 0.634767 -0.525772
3 14 0.490290 -0.927736 -0.908151
4 19 1.666987 -0.927736 0.238987
5 23 0.490290 -1.318362 0.238987
6 25 0.490290 0.244141 1.003746
7 29 -1.470871 1.416019 1.768505

“y” sütununun değişmeden kaldığını ancak “x1”, “x2” ve “x3” sütunlarının hepsinin standartlaştırıldığını unutmayın.

Tahmin edici değişkenlerin her sütununun ortalama ve standart sapmasının sırasıyla 0 ve 1’e eşit olduğunu doğrulayabiliriz:

 #view mean of each predictor variable column
df[[' x1 ', ' x2 ', ' x3 ']]. mean ()

x1 2.775558e-17
x2 -4.163336e-17
x3 5.551115e-17
dtype:float64

#view standard deviation of each predictor variable column
df[[' x1 ', ' x2 ', ' x3 ']]. std ()

x1 1.0
x2 1.0
x3 1.0
dtype:float64

Ek kaynaklar

Pandas DataFrame’deki sütunlar nasıl normalleştirilir?
Python’da Aykırı Değerler Nasıl Kaldırılır
Standardizasyon veya normalizasyon: fark nedir?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir