代码之家  ›  专栏  ›  技术社区  ›  Saeed Mousazadeh

在2018年的Pycharm中,运行Github实现不断增长的自组织地图失败。

  •  0
  • Saeed Mousazadeh  · 技术社区  · 6 年前

    我有一些增长自组织地图(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多个属性。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Saeed Mousazadeh    6 年前

    for fn, t in np.ndenumerate(dataset):
        arr = scipy.array(t)
        self.data.append([fn, arr])