我有一个包含 70 列和 440 万行的数据集。我想对其进行聚类。我先做了 TF-IDF,然后我使用了 K-means、二等分 k-means 和高斯混合模型 (GMM) 的聚类。虽然其他技术给了我指定数量的集群,但 GMM 只给出了一个集群。例如,在下面的代码中,我想要 20 个集群,但它只返回 1 个集群。发生这种情况是因为我有很多列还是仅仅是由于数据的性质造成的?
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