2017-01-24 3 views
2

私は、カテゴリデータのクラスタ解析を行っています。したがって、kモードアプローチを使用しています。kモードのクラスタ機能を公開する

私のデータは、環境設定調査の形になっています: どのように髪と目が好きですか?

enter image description here

回答者は4可能性の固定(複数選択)セットからの回答を拾うことができます。

したがって、ダミーを取得し、kモードを適用し、クラスタを最初のdfに接続して、pcaを使用して2Dでプロットします。

私のコードは次のようになります。

import numpy as np 
import pandas as pd 
from kmodes import kmodes 

df_dummy = pd.get_dummies(df) 

#transform into numpy array 
x = df_dummy.reset_index().values 

km = kmodes.KModes(n_clusters=3, init='Huang', n_init=5, verbose=0) 
clusters = km.fit_predict(x) 
df_dummy['clusters'] = clusters 


import matplotlib.pyplot as plt 
from sklearn.decomposition import PCA 
pca = PCA(2) 

# Turn the dummified df into two columns with PCA 
plot_columns = pca.fit_transform(df_dummy.ix[:,0:12]) 

# Plot based on the two dimensions, and shade by cluster label 
plt.scatter(x=plot_columns[:,1], y=plot_columns[:,0], c=df_dummy["clusters"], s=30) 
plt.show() 

と私は視覚化することができます:

enter image description here

を今私の問題は、次のとおりです。 何とか各クラスタの顕著な特徴を明らかにすることはできますか? 散布図の緑色の点群の主な特徴(金髪や青い目)は何ですか?

クラスタリングが発生しましたが、クラスタリングが実際に意味するものを変換する方法が見つかりません。

.labels_オブジェクトで再生する必要がありますか?

答えて

0

km.cluster_centroids_をご覧ください。これにより、各クラスタの各変数のモードが得られます。

関連する問題