ฟีเจอร์ที่มี Variance ต่ำ
ในแบบฝึกหัดก่อนหน้า คุณได้พบว่า 0.001 เป็นค่าเกณฑ์ที่เหมาะสมสำหรับการกรองฟีเจอร์ที่มี variance ต่ำออกจาก head_df หลังการทำ normalization แล้ว ตอนนี้ให้ใช้ VarianceThreshold เพื่อลบฟีเจอร์เหล่านั้นออก
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การลดมิติข้อมูลใน Python
คำแนะนำการฝึกหัด
- สร้าง variance threshold selector โดยกำหนดค่าเกณฑ์ (threshold) เป็น 0.001
- Normalize DataFrame
head_dfโดยหารด้วยค่าเฉลี่ยของแต่ละคอลัมน์ แล้ว fit selector - สร้าง boolean mask จาก selector โดยใช้
.get_support() - สร้าง DataFrame ที่ลดขนาดแล้วโดยส่ง mask ไปที่เมธอด
.loc[]
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
from sklearn.feature_selection import VarianceThreshold
# Create a VarianceThreshold feature selector
sel = ____(threshold=____)
# Fit the selector to normalized head_df
sel.fit(____ / ____)
# Create a boolean mask
mask = sel.____
# Apply the mask to create a reduced DataFrame
reduced_df = head_df.loc[____, ____]
print(f"Dimensionality reduced from {head_df.shape[1]} to {reduced_df.shape[1]}.")