我正在尝试绘制从模糊 C 均值聚类算法获得的聚类的可视化。使用通过 k-means 获得的清晰集群,通过正常的散点图(例如通过 matplotlib 获得的散点图)很容易可视化。是否有推荐的方法来绘制模糊集群以可视化重叠?如果是,如何?
问问题
1489 次
1 回答
2
一种选择是将您的数据分为两组:属于集群的一部分且归属度 >= X 的点和小于 X 的点。将归属度 >= X 的点称为清晰组。对于那些小于 X 的人,您可以为每个不同的集群分组,称这些为模糊组。每个模糊组都将具有不在清晰组中的所有数据点。
现在,当您进行绘图时,为每个集群分配一种颜色,假设您有三个集群 A、B 和 C。为它们分配蓝色、绿色和红色颜色。以 100% 的不透明度绘制清晰组的组颜色,然后为每个模糊组查看点的归属程度,并以集群颜色的某些缩减不透明度绘制它们。
由于您必须为每个模糊组作为一个整体分配一种颜色,因此最好将它们“分类”为按归属程度的直方图,或者您可以一起跳过所有组并单独绘制每个点。
例如,假设我们有 2 个集群 A 和 B,并且
data = [(0.2,0.8),(0.5,0.5),(0.65,0.35),(0.25,0.75)]
其中 data 表示我们每个点的归属程度 (A,B)(我不会列出其坐标,但假设它们可以用 表示ptn
)。那么如果 X 是 0.7 我们会做crisp_A = [pt1]
and crisp_B = [pt4]
。然后fuzzy_A = [pt2, pt3]
和fuzzy_B = [pt2,pt2]
。crisp_A
将和绘制crisp_B
为全色,然后使用 acm.hsv
或类似于比例的东西fuzzy_A
以及fuzzy_B
它们各自的归属程度。
于 2013-07-20T00:23:39.600 回答