Вплив ознаки на якість кластеризації
Дослідіть, як окремі ознаки впливають на ефективність кластеризації моделі KMeans. Набір даних X використовується для сегментації клієнтів на основі трьох ознак: дохід, кількість дітей і кількість підлітків у домі.
Функцію silhouette_score і змінну column_names вже попередньо завантажено для вас.
Ця вправа є частиною курсу
Пояснюваний ШІ в Python
Інструкції до вправи
- Отримайте початковий показник силуету (
original_score). - У циклі for вилучайте ознаки по одній і зберігайте результат у
X_reduced. - Обчисліть новий показник силуету (
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}')