เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การเข้ารหัสแบบ Ordinal สำหรับคอลัมน์ categorical

การ impute ค่า categorical มีขั้นตอนเพิ่มเติมจากการ impute ค่าตัวเลข เนื่องจากการดำเนินการทางสถิติไม่สามารถทำกับข้อมูลประเภท string ได้โดยตรง จึงต้องแปลงข้อมูลให้เป็นตัวเลขก่อน

ในแบบฝึกหัดนี้จะใช้ชุดข้อมูลโปรไฟล์ผู้ใช้ ซึ่งบันทึกความชอบและตัวเลือกของลูกค้าที่เก็บโดยร้านอาหาร โดยชุดข้อมูลนี้มีเฉพาะฟีเจอร์ประเภท categorical เท่านั้น จะแปลงคอลัมน์ 'ambience' ให้เป็นตัวเลขโดยใช้ OrdinalEncoder จาก sklearn โดย DataFrame ถูกโหลดไว้ให้แล้วในชื่อ users และฟังก์ชัน OrdinalEncoder() ก็ถูกโหลดไว้ให้แล้วเช่นกัน

ผลลัพธ์จาก head() และ tail() ของ DataFrame users ถูกแสดงไว้ให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การจัดการข้อมูลที่หายไปใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้างออบเจกต์ ordinal encoder และกำหนดให้กับตัวแปร ambience_ord_enc
  • เลือกค่าที่ไม่ขาดหายของคอลัมน์ 'ambience' ใน users
  • ปรับรูปร่างของ ambience_not_null ให้เป็น (-1, 1)
  • แทนที่ค่าที่ไม่ขาดหายของ ambience ด้วยค่าที่ผ่านการเข้ารหัสแล้ว

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Set col_name to 'ambience'
col_name = 'ambience'
# Create Ordinal encoder
ambience_ord_enc = ___

# Select non-null values of ambience column in users
ambience = users[col_name]
ambience_not_null = ___

# Reshape ambience_not_null to shape (-1, 1)
reshaped_vals = ___

# Select the non-null values for the column col_name in users and store the encoded values
encoded_vals = ambience_ord_enc.fit_transform(reshaped_vals)
users.loc[___, col_name] = np.squeeze(encoded_vals)
แก้ไขและรันโค้ด