运行 2018 年 pycharm 的 github 生长自组织映射实施失败
Running a github implementation of Growing Self-Organizing Map is failed in pycharm 2018
我从GitHub那里得到了一些生长自组织映射(GSOM)的代码
(了解 GSOM 机制所需的所有信息已在实施文档中描述)。
我尝试 运行 在 PyCharm 版本 2018.1.4 中使用 python 3.6 作为项目解释器,但我遇到了这个错误:
ValueError: too many values to unpack (expected 2)
以上错误与 GSOM class 的构造函数有关,具体在以下循环中:
for fn,t in dataset:
arr = scipy.array(t)
self.data.append([fn,arr])
我知道这个错误是循环中的常见错误,我不得不说我尝试了所有关于这个错误的堆栈溢出解决方案,例如我使用了 iteritems() 但在那之后我遇到了以下错误:
AttributeError: 'numpy.ndarray' object has no attribute '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 程序员,我将使用此实现作为硕士论文的主要部分,以使用二维网格可视化高维数据。
我上面使用的数据集是 3 维的(具有三个属性),是一个了解 GSOM 实现性能的简单示例。
不得不提的是,我将在论文中使用的原始数据集有 20 多个属性。
经过 4 小时的完整搜索解决了这个错误!!我发现我必须使用以下代码:
for fn, t in np.ndenumerate(dataset):
arr = scipy.array(t)
self.data.append([fn, arr])
ndenumerate() 是 numpy 的关键函数,以正确的方式在 numpy ndarray 中循环。
谢谢我!
:)
我从GitHub那里得到了一些生长自组织映射(GSOM)的代码 (了解 GSOM 机制所需的所有信息已在实施文档中描述)。
我尝试 运行 在 PyCharm 版本 2018.1.4 中使用 python 3.6 作为项目解释器,但我遇到了这个错误:
ValueError: too many values to unpack (expected 2)
以上错误与 GSOM class 的构造函数有关,具体在以下循环中:
for fn,t in dataset:
arr = scipy.array(t)
self.data.append([fn,arr])
我知道这个错误是循环中的常见错误,我不得不说我尝试了所有关于这个错误的堆栈溢出解决方案,例如我使用了 iteritems() 但在那之后我遇到了以下错误:
AttributeError: 'numpy.ndarray' object has no attribute '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 程序员,我将使用此实现作为硕士论文的主要部分,以使用二维网格可视化高维数据。
我上面使用的数据集是 3 维的(具有三个属性),是一个了解 GSOM 实现性能的简单示例。
不得不提的是,我将在论文中使用的原始数据集有 20 多个属性。
经过 4 小时的完整搜索解决了这个错误!!我发现我必须使用以下代码:
for fn, t in np.ndenumerate(dataset):
arr = scipy.array(t)
self.data.append([fn, arr])
ndenumerate() 是 numpy 的关键函数,以正确的方式在 numpy ndarray 中循环。
谢谢我! :)