ガウス分布を生成し、そこからデータをサンプリングするコードを以下に示します。
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
original_label と generated_label を確認すると、各クラスターのサンプル数が異なります。
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 からデータをサンプリングしたい。ここでは、サンプリングされたデータと元のデータのクラスターの間に大きな違いがあります。修正するのを手伝ってもらえますか?