ARI を用いたクラスタリングにおける特徴量重要度
Adjusted Rand Index (ARI) を使って、前の演習で扱った顧客データセット(X に事前読み込み済み)において、各特徴量を取り除いたときにクラスタ割り当てがどの程度変化するかを定量的に測定しましょう。
adjusted_rand_score() 関数と column_names 変数はすでに読み込まれています。
この演習はコースの一部です
Pythonで学ぶExplainable AI
演習の手順
- 元のクラスタ割り当てを
original_clustersに算出します。 - for ループ内で特徴量を1つずつ除外し、結果を
X_reducedに保存します。 X_reducedに K-means を適用してreduced_clustersを求めます。reduced_clustersとoriginal_clustersの ARI に基づいて、特徴量のimportanceを計算します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
kmeans = KMeans(n_clusters=5, random_state=10, n_init=10).fit(X)
# Derive original clusters
original_clusters = ____
for i in range(X.shape[1]):
# Remove feature at index i
X_reduced = ____
# Derive reduced clusters
reduced_clusters = ____
# Derive feature importance
importance = ____
print(f'{column_names[i]}: {importance}')