我有一些增长自组织地图(GSOM)的代码
GitHub
(理解GSOM机制所需的所有信息已在实施文件中描述)。
我尝试在pycharm版本2018.1.4中运行它,并使用python 3.6作为项目解释器,但我遇到了以下错误:
ValueError:要解包的值太多(应为2)
上面的错误与GSOM类的构造函数有关,特别是在下面的循环中:
for fn,t in dataset:
arr = scipy.array(t)
self.data.append([fn,arr])
我知道这个错误是循环中的一个常见错误,我不得不说我尝试了所有关于这个错误的堆栈溢出解决方案,例如我使用了
ITeritems()。
但在此之后,我遇到了以下错误:
attributeError:“numpy.ndarray”对象没有属性“iteritems”
我为使用此实现编写的代码如下:
from gsom import GSOM
import numpy as np
dataset = np.array([
[1., 0., 0.],
[1., 0., 1.],
[0., 0., 0.5],
[0.125, 0.529, 1.0],
[0.33, 0.4, 0.67],
[0.6, 0.5, 1.0],
[0., 1., 0.],
[1., 0., 0.],
[0., 1., 1.],
[1., 0., 1.],
[1., 1., 0.],
[1., 1., 1.],
[.33, .33, .33],
[.5, .5, .5],
[.66, .66, .66]])
SF = 0.5
Test = GSOM(dataset, SF)
顺便说一句,我是一个普通的Python程序员,我将把这个实现作为主论文的主要部分,用二维网格来可视化高维数据。
我上面使用的数据集是三维的(有三个属性),是理解GSOM实现性能的一个简单示例。
我必须提到,我将在论文中使用的原始数据集有20多个属性。