วิธีสร้างมาตรฐานข้อมูลใน python: พร้อมตัวอย่าง


การทำให้ ชุดข้อมูลเป็นมาตรฐานหมายถึงการปรับค่าทั้งหมดในชุดข้อมูลโดยให้ค่าเฉลี่ยเป็น 0 และค่าเบี่ยงเบนมาตรฐานเป็น 1

เราใช้สูตรต่อไปนี้เพื่อทำให้ค่าในชุดข้อมูลเป็นมาตรฐาน:

x ใหม่ = (x ix ) / s

ทอง:

  • x i : ค่า ที่ i ของชุดข้อมูล
  • x : หมายถึงตัวอย่าง
  • s : ค่าเบี่ยงเบนมาตรฐานของกลุ่มตัวอย่าง

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อทำให้คอลัมน์ทั้งหมดใน DataFrame ของ pandas ใน Python เป็นมาตรฐานได้อย่างรวดเร็ว:

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

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่างที่ 1: สร้างมาตรฐานให้กับคอลัมน์ DataFrame ทั้งหมด

รหัสต่อไปนี้แสดงวิธีสร้างมาตรฐานให้กับคอลัมน์ทั้งหมดใน DataFrame ของแพนด้า:

 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

เราสามารถตรวจสอบได้ว่าค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานของแต่ละคอลัมน์มีค่าเท่ากับ 0 และ 1 ตามลำดับ:

 #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

ตัวอย่างที่ 2: ปรับคอลัมน์ DataFrame เฉพาะให้เป็นมาตรฐาน

บางครั้งคุณอาจต้องการเพียงทำให้คอลัมน์ที่ระบุเป็นมาตรฐานใน DataFrame เท่านั้น

ตัวอย่างเช่น สำหรับ อัลกอริธึมแมชชีนเลิร์นนิง หลายๆ ตัว คุณอาจต้องการเพียงสร้างมาตรฐานให้กับตัวแปรทำนายก่อนที่จะปรับโมเดลบางอย่างเข้ากับข้อมูล

รหัสต่อไปนี้แสดงวิธีการสร้างมาตรฐานให้กับคอลัมน์เฉพาะใน Pandas DataFrame:

 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” ยังคงไม่เปลี่ยนแปลง แต่คอลัมน์ “x1”, “x2” และ “x3” ล้วนเป็นคอลัมน์มาตรฐาน

เราสามารถตรวจสอบได้ว่าค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานของแต่ละคอลัมน์ของตัวแปรทำนายมีค่าเท่ากับ 0 และ 1 ตามลำดับ:

 #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

แหล่งข้อมูลเพิ่มเติม

วิธีทำให้คอลัมน์เป็นมาตรฐานใน Pandas DataFrame
วิธีลบค่าผิดปกติใน Python
การทำให้เป็นมาตรฐานหรือการทำให้เป็นมาตรฐาน: อะไรคือความแตกต่าง?

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *