我有 100 x 13 个向量作为我在 C# 中实现的 K-Means 聚类的输入。我想绘制我的聚类结果,即 13 维数据点
我已经看到了 2D 和 3D 绘图库的示例,例如OxyPlot、ZedGraph等。但是找不到任何绘制 N 维数据的示例(其中 N > 3,在我的情况下为 N = 13)。
谁能建议我如何在 C# 中实现这一点?
那么,你有 13 维显示器吗?然后绘制 13 维数据会很容易。
任何超过二维的东西都需要某种投影(好吧,实际上即使在二维中你也需要一些投影)。如果您添加时间(=动画),那么您可以通过旋转投影来合理地可视化 3 维。
因此,对于超过 3 个维度的可视化,有两种非常流行的技术:
降维。这包括使用 PCA 来识别高方差轴。或者,您可能想尝试多维缩放
平行坐标。每个维度都有一个轴,但轴不相交而是平行绘制。每个向量不再是一个点,而是一条在适当高度连接轴的线。所以向量 (1,2,0) 是一条折线,从第一个轴上的 1 到第二个轴上的 2 和第三个轴上的 0。
还有更多的东西,比如笑脸、字形和类似的可视化技术。获取一些有关数据可视化的讲座幻灯片,您应该会看到其中的一些技术。
要查看平行坐标的示例,您可以将数据集加载到ELKI中并在那里运行 k-means。粗线应表示平行坐标图中的平均值,而细线是数据实例。