始める無料で始める

クラスタ品質への特徴量の影響

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}')
コードを編集して実行