Matplotlib 为什么同一组集群的数据点在Kmeans集群中远离或分散?

Matplotlib 为什么同一组集群的数据点在Kmeans集群中远离或分散?,matplotlib,machine-learning,cluster-analysis,k-means,Matplotlib,Machine Learning,Cluster Analysis,K Means,我有一个疑问,在我的会议上也被问了很多次,我成功地回答了这个问题。。我希望你能帮助我了解这个问题的真知灼见 在我的项目中,我使用了kmeans集群,为各个问题领域对大量文档进行集群。我还使用matplotlib绘制数据点的坐标。通常,属于同一集群的数据点分散或远离属于同一集群组的其他文档或数据点。人们通常问我的问题是,如果文档或数据点来自同一个集群/组,那么它需要彼此更接近,为什么对于同一个集群/组的文档不这样做 我如何说服他们,有时我不知道该说什么 除了同一个问题,我无法控制集群的形成,但作为

我有一个疑问,在我的会议上也被问了很多次,我成功地回答了这个问题。。我希望你能帮助我了解这个问题的真知灼见

在我的项目中,我使用了kmeans集群,为各个问题领域对大量文档进行集群。我还使用matplotlib绘制数据点的坐标。通常,属于同一集群的数据点分散或远离属于同一集群组的其他文档或数据点。人们通常问我的问题是,如果文档或数据点来自同一个集群/组,那么它需要彼此更接近,为什么对于同一个集群/组的文档不这样做

我如何说服他们,有时我不知道该说什么

除了同一个问题,我无法控制集群的形成,但作为我所在领域的领域专家,我非常清楚文档所属的问题领域。那么,我如何使用Kmeans或任何其他集群机制,或者通过使用超参数,将这数千个文档准确地配置/集群到这些问题区域中呢。请帮帮我

我已经参考了


父亲,纽约,兄弟是一簇紫色的。如果它属于同一集群,那么它都需要位于靠近彼此的一侧绘图屏幕上。为什么它散布在情节画面的每一个角落。我的情况也是如此

您提供的数据信息很少,因此这个答案有点推测性。但是我很确定你的数据点有两个以上的组成部分,并且你至少在三维空间中进行k-means聚类。然后使用某种投影在2D中显示它们。由于投影,原本彼此相距较远的点看起来很近。2D图几乎没有说明原始高维空间中的邻域关系。

根据我的经验,文本的k-均值效果不太好。永远不要相信结果。使用它最多可以让你知道有什么,因为通常至少有50%的点在错误的簇中。好的,在这种情况下,什么算法适合文本。让我的问题更广泛的要求。我有来自bugzilla、socialcast、salesforce等不同来源的数千份文档/问题。。。我想将这些文档或PR聚集到一个尖锐的问题区域。比如说,在JAVA中,人们每天都会遇到很多问题,他们会发布他们的问题,我需要将所有这些文档聚集到问题的特定区域,比如nullpointerexception应该都在一个集群中,而与集合相关的问题应该在另一个集群中。什么样的算法能够很好地进行集群。我怀疑任何集群都不能做到这一点。因为您使用了多个数据源,所以很可能会看到与bugzilla、socialcast和salesforce相对应的集群。这将是一个成功的集群,但对您来说毫无用处。您好@Anony mouse在您说过之后,我正在针对每个数据源运行kmeans集群。来自socialcast的数据单独运行,无需bugzilla或saleforce提供。但我仍然看到集群是基于一些词形成的,这些词在理想情况下不应该是集群式的,例如它的给予日、存在、周围、信息,这些都不是我的问题领域。如何预处理数据以获得一些有意义的聚类。我也删除了停止词和不需要的词,因为当我删除不需要的词时,它给出了一个错误,即在tfidf中增加max_df或减少min_df。我对文本聚类没有任何积极的经验,很抱歉,我引用了这个链接来解决我的问题,即使在这里,我看到一个特定集群的电影分散了。我也会上传上面的图片。我看到集群的名字是父,纽约,兄弟,紫色,这些数据点分散在图中的每一个地方。为什么呢?如果它都是同一个簇,那么它就需要更近一些。@Niteshkumar:链接的文档证实了我的假设,即实际的簇是在高维向量空间中完成的。在这个空间中,簇的点实际上是靠得很近的。您显示的图表只是这个空间的二维可视化。好的,但是为什么数据点的二维可视化在同一个集群下非常遥远。我问的原因是,我真的觉得很难在会议上解释。是否有任何可能的方法来解释高维向量空间以及为什么这些数据点对业务人员来说很遥远。如果你能给我一些类比和深入的解释,那就太好了。非常感谢您的时间和您迄今为止所做的解释。@Niteshkumar:假设您得了4分
在3D中:A=10,0,0,B=20,0,0,C=11,01000和D=21,01000。显然,这些簇是{A,B}和{C,D}。现在,通过删除第三个坐标将它们投影到二维:A'=10,0,B'=20,0,C'=11,0和D'=21,0。现在{A',C'}和{B',D'}靠得很近。哇,非常感谢@FrankPuffer。这对我帮助很大。