J'ai un jeu de données qui comporte 70 colonnes et 4,4 millions de lignes. Je veux effectuer un clustering sur ce jeu de données. J'ai commencé par TF-IDF, puis j'ai utilisé le clustering avec K-means, Bisecting k-means et Gaussian Mixture Model (GMM). Alors que les autres techniques me donnent le nombre spécifié de clusters, le GMM ne donne qu'un seul cluster. Par exemple, dans le code ci-dessous, je veux 20 clusters mais il ne retourne qu'un seul cluster. Est-ce que cela est dû au fait que j'ai beaucoup de colonnes ou est-ce que cela est simplement dû à la nature des données ?
gmm = GaussianMixture(k = 20, tol = 0.000001, maxIter=10000, seed =1)
model = gmm.fit(rescaledData)
df1 = model.transform(rescaledData).select(['label','prediction'])
df1.groupBy('prediction').count().show() # this returns 1 row