为什么我的 U 矩阵在视觉上没有分离类?

数据挖掘 Python 神经网络
2021-09-20 22:05:46

我正在可视化使用自组织映射码本生成的 U 矩阵,以(视觉上)识别数据中的相似区域。

虽然我想使用 SOM 来识别未标记数据中的集群,但我首先使用一些标记的基准数据集运行它,以确保我的实现没有错误。

对于 Iris 数据集,我可以看到类之间的清晰分界,表明实现是正确的。这些类已重新标记为 1、2、3。鸢尾花数据集的 U 矩阵

但是,当我在另一个数据集上运行相同的代码时,我可以看到 SOM 能够将不同类的成员映射在一起(所有 0 在一起,1 在一起,并且有两个不同的区域),但没有明确划界。相关数据集的 U 矩阵

如何改进 U 矩阵或 SOM 以在类之间产生清晰的分界?

1个回答

新数据集中的预测变量数量是否很大?如果是这样,由于维度灾难,欧几里得距离可能不可靠。您可能想尝试使用主成分分析或特征选择来减少数据集的维度。或者,您可能想尝试使用不同的距离度量,例如余弦相似度。