การ Discretize ตัวแปรทั้งหมด
แทนที่จะ discretize ตัวแปรต่อเนื่องทีละตัว วิธีที่ง่ายกว่าคือการทำให้กระบวนการนี้เป็นอัตโนมัติ หากต้องการดึงรายชื่อคอลัมน์ทั้งหมดใน Python ให้ใช้
variables = basetable.columns
ควร discretize เฉพาะตัวแปรที่เป็นตัวแปรต่อเนื่องเท่านั้น ตรวจสอบได้ว่าตัวแปรใดควรถูก discretize โดยดูว่าตัวแปรนั้นมีค่าที่แตกต่างกันมากกว่าจำนวนที่กำหนดไว้หรือไม่
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์เชิงพยากรณ์เบื้องต้นด้วย Python
คำแนะนำการฝึกหัด
- สร้างรายการ
variablesที่ประกอบด้วยชื่อคอลัมน์ทั้งหมดของ basetable - สร้างลูปเพื่อตรวจสอบตัวแปรทุกตัวในรายการ
variables - เติมคำสั่ง
ifให้สมบูรณ์ เพื่อให้ discretize เฉพาะตัวแปรที่มีค่าที่แตกต่างกันมากกว่า 5 ค่าเท่านั้น - แบ่งตัวแปรต่อเนื่องออกเป็น 10 ช่วง โดยใช้เมธอด
qcut
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Print the columns in the original basetable
print(basetable.columns)
# Get all the variable names except "target"
variables = list(____.____)
variables.remove("target")
# Loop through all the variables and discretize in 10 bins if there are more than 5 different values
for variable in ____:
if len(basetable.groupby(____))>____:
new_variable = "disc_" + variable
basetable[new_variable] = pd.qcut(basetable[____], ____)
# Print the columns in the new basetable
print(basetable.columns)