mvpa2:从 Kohonen 层恢复 SOM

mvpa2: restore SOM from Kohonen layer

我正在尝试使用 pymvpa2 SOM mapper 在 Python 中实现自组织映射。
它工作得很好,但我如何保存生成的 SOM?

h5save 对我不起作用,我开始想,我是否可以创建一个空的 SOM 实例,然后将保存的 Kohonen 层附加到它?但是,当我尝试将 Kohonen 矩阵提供给一个空映射器时,出现此错误:

...
size = (15,15)
som_new = SimpleSOMMapper(size, 1900, learning_rate=0.05)
som_new.K = som_trained.K
>> AttributeError: can't set attribute



有没有办法覆盖它?

您无法访问 som.K,但如果您查看包中的 som.py,您会看到该脚本使用 som._K 修改 Kohonen 层。

使用这种方法:

som_new.is_trained = True
som_new._K = som_trained.K

然后您会将地图传输到一个空的地图绘制器。但要小心,因为 som.py 不会以这种方式检查您添加到 Kohonen 层的内容:它可以是字符串、整数或其他任何内容。