2017-01-24 7 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_을 살펴보십시오. 그러면 각 클러스터에 대한 각 변수의 모드가 제공됩니다.