ผลกระทบของฟีเจอร์ต่อคุณภาพคลัสเตอร์
สำรวจว่าฟีเจอร์แต่ละตัวส่งผลต่อประสิทธิภาพการจัดกลุ่มของโมเดล KMeans อย่างไร ชุดข้อมูล X ถูกใช้สำหรับการแบ่งกลุ่มลูกค้าตามฟีเจอร์ 3 ตัว ได้แก่ รายได้ จำนวนเด็กเล็ก และจำนวนวัยรุ่นในบ้าน
ฟังก์ชัน silhouette_score และตัวแปร column_names ถูกโหลดไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Explainable AI ด้วย Python
คำแนะนำการฝึกหัด
- คำนวณ silhouette score ต้นฉบับ (
original_score) - ใน for loop ให้ลบฟีเจอร์ออกทีละตัวและบันทึกผลลัพธ์ไว้ใน
X_reduced - คำนวณ silhouette score ใหม่ (
new_score) - คำนวณ
impactของฟีเจอร์นั้น
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
kmeans = KMeans(n_clusters=5, random_state=10, n_init=10).fit(X)
# Derive the original silhouette score
original_score = ____
for i in range(X.shape[1]):
# Remove feature at index i
X_reduced = ____
kmeans.fit(X_reduced)
# Compute the new silhouette score
new_score = ____
# Compute the feature's impact
impact = ____
print(f'Feature {column_names[i]}: Impact = {impact}')