วิธีใช้ 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 หมายถึง “ใช่” สำหรับวิทยาลัย
แหล่งข้อมูลเพิ่มเติม
วิธีใช้ตัวแปรจำลองในการวิเคราะห์การถดถอย
กับดักตัวแปรจำลองคืออะไร?