วิธีใช้ pandas get dummies – pd.get_dummies


บ่อยครั้งในชุดข้อมูลทางสถิติที่เราทำงานด้วยมี ตัวแปรตามหมวดหมู่

เหล่านี้เป็นตัวแปรที่ใช้ชื่อหรือป้ายกำกับ ตัวอย่างได้แก่:

  • สถานภาพการสมรส (“แต่งงานแล้ว” “โสด” “หย่าร้าง”)
  • สถานะการสูบบุหรี่ (“ผู้สูบบุหรี่”, “ผู้ไม่สูบบุหรี่”)
  • สีตา (“น้ำเงิน”, “เขียว”, “เฮเซล”)
  • ระดับการศึกษา (เช่น “มัธยมปลาย” “ปริญญาตรี” “ปริญญาโท”)

เมื่อปรับแต่งอัลกอริธึมการเรียนรู้ของเครื่อง (เช่น การถดถอยเชิงเส้น การถดถอยโลจิสติ ก ฟอเรสต์ สุ่ม ฯลฯ) เรามักจะแปลงตัวแปรเชิงหมวดหมู่เป็น ตัวแปรจำลอง ซึ่งเป็นตัวแปรตัวเลขที่ใช้เพื่อแสดงข้อมูลเชิงหมวดหมู่

ตัวอย่างเช่น สมมติว่าเรามีชุดข้อมูลที่มีตัวแปรตามหมวดหมู่ Gender หากต้องการใช้ตัวแปรนี้เป็นตัวทำนายในแบบจำลองการถดถอย จำเป็นต้องแปลงเป็นตัวแปรจำลองก่อน

ในการสร้างตัวแปรจำลองนี้ เราสามารถเลือกค่าใดค่าหนึ่ง (“ชาย”) เพื่อแสดง 0 และค่าอื่น ๆ (“หญิง”) เพื่อแสดง 1:

วิธีสร้างตัวแปรจำลองใน Pandas

หากต้องการสร้างหุ่นสำหรับตัวแปรใน pandas DataFrame เราสามารถใช้ฟังก์ชัน pandas.get_dummies() ซึ่งใช้ไวยากรณ์พื้นฐานต่อไปนี้:

pandas.get_dummies(ข้อมูล, คำนำหน้า=ไม่มี, คอลัมน์=ไม่มี, drop_first=เท็จ)

ทอง:

  • data : ชื่อของ DataFrame ของแพนด้า
  • คำนำหน้า : สตริงที่จะเพิ่มที่จุดเริ่มต้นของคอลัมน์ตัวแปรจำลองใหม่
  • columns : ชื่อของคอลัมน์ที่จะแปลงเป็นตัวแปรจำลอง
  • drop_first : ว่าจะทิ้งคอลัมน์ตัวแปรจำลองตัวแรกหรือไม่

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

ตัวอย่างที่ 1: สร้างตัวแปรจำลองตัวเดียว

สมมติว่าเรามี DataFrame แพนด้าดังต่อไปนี้:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' income ': [45, 48, 54, 57, 65, 69, 78],
                   ' age ': [23, 25, 24, 29, 38, 36, 40],
                   ' gender ': ['M', 'F', 'M', 'F', 'F', 'F', 'M']})

#view DataFrame
df

        income age gender
0 45 23 M
1 48 25 F
2 54 24 M
3 57 29 F
4 65 38 F
5 69 36 F
6 78 40 M

เราสามารถใช้ฟังก์ชัน pd.get_dummies() เพื่อเปลี่ยนเพศให้เป็นตัวแปรจำลอง:

 #convert gender to dummy variable
p.d. get_dummies (df, columns=[' gender '], drop_first= True )

	income age gender_M
0 45 23 1
1 48 25 0
2 54 24 1
3 57 29 0
4 65 38 0
5 69 36 0
6 78 40 1

ตอนนี้คอลัมน์เพศกลายเป็นตัวแปรจำลองโดยที่:

  • ค่า 0 หมายถึง “เพศหญิง”
  • ค่า 1 หมายถึง “เพศชาย”

ตัวอย่างที่ 2: สร้างตัวแปรจำลองหลายตัว

สมมติว่าเรามี DataFrame แพนด้าดังต่อไปนี้:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' income ': [45, 48, 54, 57, 65, 69, 78],
                   ' age ': [23, 25, 24, 29, 38, 36, 40],
                   ' gender ': ['M', 'F', 'M', 'F', 'F', 'F', 'M'],
                   ' college ': ['Y', 'N', 'N', 'N', 'Y', 'Y', 'Y']})

#view DataFrame
df

	income age gender college
0 45 23 M Y
1 48 25 F N
2 54 24 M N
3 57 29 F N
4 65 38 F Y
5 69 36 F Y
6 78 40 M Y

เราสามารถใช้ฟังก์ชัน pd.get_dummies() เพื่อแปลงเพศและวิทยาลัยให้เป็นตัวแปรจำลอง:

 #convert gender to dummy variable
p.d. get_dummies (df, columns=[' gender ', ' college '], drop_first= True )


        income age gender_M college_Y
0 45 23 1 1
1 48 25 0 0
2 54 24 1 0
3 57 29 0 0
4 65 38 0 1
5 69 36 0 1
6 78 40 1 1

ตอนนี้คอลัมน์เพศกลายเป็นตัวแปรจำลองโดยที่:

  • ค่า 0 หมายถึง “เพศหญิง”
  • ค่า 1 หมายถึง “เพศชาย”

และตอนนี้คอลัมน์วิทยาลัยก็กลายเป็นตัวแปรจำลองโดยที่:

  • ค่า 0 หมายถึงมหาวิทยาลัย “ไม่ใช่”
  • ค่า 1 หมายถึง “ใช่” สำหรับวิทยาลัย

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

วิธีใช้ตัวแปรจำลองในการวิเคราะห์การถดถอย
กับดักตัวแปรจำลองคืออะไร?

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

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