クラスタ品質への特徴量の影響
KMeans モデルにおいて、各特徴量がクラスタリング性能に与える影響を調べましょう。データセット X は、収入、子どもの人数、家にいるティーンの人数という3つの特徴量に基づく顧客セグメンテーションに使われます。
silhouette_score 関数と column_names 変数はすでに読み込まれています。
この演習はコースの一部です
Pythonで学ぶExplainable AI
演習の手順
- 元のシルエットスコア(
original_score)を求めます。 - for ループ内で、特徴量を1つずつ削除して、その結果を
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}')