我有一个由6维数据点组成的数据集。我想为这些数据生成一个自组织映射,以查看我的数据是如何聚集的,以及数据集中有多少不同的集群。我的数据集没有标签。我遇到的所有例子都贴上了标签(虹膜数据集)。我使用了各种python包(minisom、sompy、susi)来实现SOM,但我无法可视化和解释这些结果。
我请求这个社区来帮助我,如果你能提供一个链接到基于SOM聚类的>3维数据的良好工作,并对结果进行适当的评估,我将非常感激。
**:
谢谢。我能理解UMATRIX。然而,我仍然在努力地聚集类似的数据点。
这是一个数据集示例:
A B C D E F
1 0.000613 150386 20.279685 39400220.0 0.672270
1 0.000649 154428 21.069894 8444300.0 0.466464
1 0.000276 154017 20.890017 12361590.0 0.399357
1 0.000186 68675 20.419599 13973180.0 0.430975
1 0.000177 60795 23.276564 5686630.0 0.372155这是SOM集群的结果:
A B C D E F Cluster-id
5 1.096415e-07 274 12.599589 4870.0 0.000060 19
5 1.185185e-07 205 12.108413 10000.0 0.000402 19
5 1.131892e-07 221 12.282051 290.0 0.000014 19
5 1.447471e-07 338 12.708078 1750.0 0.000027 19
5 8.218939e-08 244 12.000000 30.0 0.000027 19
... ... ... ... ... ... ... ... ...
5 2.425165e-08 26 12.517500 2020.0 0.000025 19
5 2.926305e-08 51 12.051724 2320.0 0.000012 19
5 2.326685e-08 18 11.724138 290.0 0.000009 19
5 2.465502e-08 18 12.288000 2500.0 0.000018 19
5 5.118597e-08 80 11.776271 2950.0 0.000093 19如果您查看上面的结果,属性C和属性E与其他属性相比有很大的不同,即使它们属于相同的集群,这背后的合理原因是什么?
我如何解决这个问题,目的是拥有一个具有相似数据点的集群?(FYI:我对数据集进行了标准缩放,以均衡每个属性的方差)
发布于 2022-02-12 11:15:36
对于susi,它的工作方式如下(取自susi/SOMClustering.ipynb):
import susi
som = susi.SOMClustering()
som.fit(X) # <- X is your dataset without labels
# to get the clusters
clusters = som.get_clusters(X)
# to plot the clusters
plt.scatter(x=[c[1] for c in clusters], y=[c[0] for c in clusters], c=y, alpha=0.2)
plt.gca().invert_yaxis()
plt.show()这对你有用吗?如果没有,请提供更多关于您的数据的信息。
免责声明:我是苏西的开发者。
https://stackoverflow.com/questions/71058204
复制相似问题