การสร้างฟีเจอร์ใหม่
Feature engineering ยังรวมถึงการสร้างฟีเจอร์ใหม่โดยตรงด้วย ซึ่งเป็นสิ่งสำคัญ เพราะโมเดลอาศัยฟีเจอร์เหล่านี้ในการทำนายได้อย่างแม่นยำ ในแบบฝึกหัดนี้ จะตรวจสอบคุณสมบัติของสามคอลัมน์ที่ปรากฏเป็นจำนวนเต็มในข้อมูล แต่แท้จริงแล้วแทนค่าเชิงหมวดหมู่ ได้แก่ search_engine_type, product_type และ advertiser_type จากนั้นจะสร้าง count features สำหรับทั้ง 3 คอลัมน์นี้ รวมถึง device_id และ site_id ด้วย count features เหล่านี้แทนจำนวนคลิกของแต่ละคอลัมน์ และจะนำไปใช้ในการทำนายในภายหลัง
โมดูล pandas พร้อมใช้งานในชื่อ pd และ DataFrame ตัวอย่างถูกโหลดไว้ในชื่อ df แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การพยากรณ์ CTR ด้วย Machine Learning ใน Python
คำแนะนำการฝึกหัด
- แสดงจำนวนค่าทั้งหมดและจำนวนค่าที่ไม่ซ้ำกันของแต่ละฟีเจอร์ในลิสต์
feature_list - สร้างฟีเจอร์ใหม่จากฟีเจอร์ในลิสต์
new_feature_listโดยนับจำนวนคลิกของแต่ละฟีเจอร์ด้วย.transform()
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Get counts of total and unique values for given features
feature_list = ["search_engine_type", "product_type", "advertiser_type"]
for feature in feature_list:
print(df[feature].____)
print(df[feature].____)
# Define new features as counts
new_feature_list = ['device_id', 'site_id'] + feature_list
for new_feature in new_feature_list:
df[new_feature + '_count'] = df.____(
new_feature)['click'].____("count")
print(df.head(5))