複数特徴量でのクラスタリング

Pythonで学ぶクラスタ分析

Shaumik Daityari

Business Analyst

基本確認

# Cluster centers
print(fifa.groupby('cluster_labels')[['scaled_heading_accuracy', 
    'scaled_volleys', 'scaled_finishing']].mean())
cluster_labels scaled_heading_accuracy scaled_volleys scaled_finishing
0 3.21 2.83 2.76
1 0.71 0.64 0.58
# Cluster sizes
print(fifa.groupby('cluster_labels')['ID'].count())
cluster_labels count
0 886
1 114
Pythonで学ぶクラスタ分析

可視化

  • クラスタ中心を可視化する
  • 各クラスタの他の変数を可視化する

 

# Plot cluster centers
fifa.groupby('cluster_labels') \
  [scaled_features].mean()
  .plot(kind='bar')
plt.show()

Pythonで学ぶクラスタ分析

クラスタ内の上位項目

# Get the name column of top 5 players in each cluster
for cluster in fifa['cluster_labels'].unique():
    print(cluster, fifa[fifa['cluster_labels'] == cluster]['name'].values[:5])
Cluster Label Top Players
0 ['Cristiano Ronaldo' 'L. Messi' 'Neymar' 'L. Suárez' 'R. Lewandowski']
1 ['M. Neuer' 'De Gea' 'G. Buffon' 'T. Courtois' 'H. Lloris']
Pythonで学ぶクラスタ分析

特徴量削減

  • 因子分析
  • 多次元尺度法
Pythonで学ぶクラスタ分析

総合演習

Pythonで学ぶクラスタ分析

Preparing Video For Download...