2017-12-29 53 views
0

: I가 original_label 및 generated_label, 각각의 샘플의 개수를 체크가우시안 혼합 모델 샘플링 그 아래에 주어진 코드 조각 그것에서 가우스 분포와 샘플 데이터를 생성하고, I 가지고

input = pd.read_csv("..\\data\\input.txt", sep=",", header=None).values 
gmm = GMM(n_components=5).fit(input) 
sampled = gmm.sample(input.shape[0], random_state=42) 
original_label = gmm.predict(input) 
generated_label = gmm.predict(sampled) 
return sampled 

클러스터가 다릅니다.

The number of elements in original_label: 
Cluster 1:0 
Cluster 2:1761 
Cluster 3:2024 
Cluster 4:769 
Cluster 5:0 

The number of elements in generated_label: 
Cluster 1:0 
Cluster 2:1273 
Cluster 3:739 
Cluster 4:1140 
Cluster 5:1402 

원본 입력과 동일한 분포로 gmm에서 데이터를 샘플링하고 싶습니다. 여기에는 샘플 데이터와 원본 데이터의 클러스터간에 큰 차이가 있습니다. 고칠 수있게 도와 주시겠습니까?

답변

0

가우시안 혼합물 모델은 소프트 클러스터링 방식입니다. 모든 객체는 모든 클러스터에 속합니다.

부드러운 클러스터 밀도를 합하면 이 훨씬 더 일치해야합니다. (클러스터 5의 큰 차이는 sklearn의 문제점을 나타낼 수 있습니다.)

GMM 밀도 모델과 예측 된 하드 레이블을 만족하는 하드 클러스터링을 생성하면 일반적으로 클러스터가 겹쳐서 적합하지 않습니다. 이것은 '어려운'표시가 GMM의 기본 가정에 사실이 아님을 보여줍니다.