One-hot encoding ข้อมูลสินเชื่อ
ถึงเวลาเตรียมคอลัมน์ที่ไม่ใช่ตัวเลขเพื่อให้สามารถนำไปใช้กับโมเดล LogisticRegression() ได้
เมื่อสร้างคอลัมน์ใหม่ด้วย one-hot encoding แล้ว ให้นำไป concatenate รวมกับคอลัมน์ตัวเลข เพื่อสร้าง data frame ใหม่ที่จะใช้ตลอดคอร์สนี้สำหรับพยากรณ์ความน่าจะเป็นของการผิดนัดชำระหนี้
อย่าลืมว่าให้ทำ one-hot encoding เฉพาะคอลัมน์ที่ไม่ใช่ตัวเลขเท่านั้น หากทำกับคอลัมน์ตัวเลขด้วย ชุดข้อมูลจะมีจำนวนคอลัมน์มากเกินไปจนใช้งานยาก!
ข้อมูลสินเชื่อ cr_loan_clean ถูกโหลดเข้า workspace ไว้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างโมเดลความเสี่ยงด้านเครดิตด้วย Python
คำแนะนำการฝึกหัด
- สร้างชุดข้อมูลสำหรับคอลัมน์ตัวเลขทั้งหมด โดยตั้งชื่อว่า
cred_numและสร้างอีกชุดสำหรับคอลัมน์ที่ไม่ใช่ตัวเลข โดยตั้งชื่อว่าcred_str - ใช้ one-hot encoding กับ
cred_strเพื่อสร้างชุดข้อมูลใหม่ชื่อcred_str_onehot - รวม
cred_numกับข้อมูลที่ผ่าน one-hot encoding แล้ว และเก็บผลลัพธ์ไว้ในตัวแปรชื่อcr_loan_prep - แสดงชื่อคอลัมน์ของชุดข้อมูลใหม่
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create two data sets for numeric and non-numeric data
____ = ____.select_dtypes(exclude=['object'])
____ = ____.select_dtypes(include=['object'])
# One-hot encode the non-numeric columns
____ = pd.____(____)
# Union the one-hot encoded columns to the numeric ones
____ = pd.concat([____, ____], axis=1)
# Print the columns in the new data set
print(____.columns)