首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何绕过ValueError:数组是太大的错误?

如何绕过ValueError:数组是太大的错误?
EN

Stack Overflow用户
提问于 2014-01-17 14:23:08
回答 1查看 2.6K关注 0票数 2

我得到了一个枕形稀疏矩阵(csr:压缩稀疏行矩阵)。我想使用Orange的特性选择方法(Orange.feature.scoring.score_all (InfoGain/MDL))。然而,根据我的理解,我必须创建一个仅接受numpy数组作为参数的Table。因此,每当我试图使用(.toarray())将csr矩阵转换为数组时,就会得到以下错误(因为矩阵的大小):

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:\Users\NMS\Desktop\PyExp\experiments_acl2013.py", line 249, in <module>
    print(X_train.toarray())
  File "C:\Python27\lib\site-packages\scipy\sparse\compressed.py", line 561, in toarray
    return self.tocoo(copy=False).toarray(order=order, out=out)
  File "C:\Python27\lib\site-packages\scipy\sparse\coo.py", line 238, in toarray
    B = self._process_toarray_args(order, out)
  File "C:\Python27\lib\site-packages\scipy\sparse\base.py", line 635, in _process_toarray_args
    return np.zeros(self.shape, dtype=self.dtype, order=order)
ValueError: array is too big.

还有另一种方法可以让我传递稀疏矩阵来创建一个表吗?还是有一种方法可以在Orange中应用InfoGain或MDL,而不直接使用我的稀疏矩阵创建一个表?

当将memmap传递给表时,我得到以下错误:

代码语言:javascript
复制
>>> t2 = Table(d2, mm)

Traceback (most recent call last):
   File "<pyshell#125>", line 1, in <module>
    t2 = Table(d2, mm)
   TypeError: invalid arguments

在不带域的情况下传递memmap时,我得到以下信息:

代码语言:javascript
复制
>>> mm
memmap([[0, 1, 2, 4],
       [9, 8, 6, 3]])
>>> t2 = Table(mm)

Traceback (most recent call last):
  File "<pyshell#128>", line 1, in <module>
    t2 = Table(mm)
TypeError: invalid arguments for constructor (domain or examples or both expected)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-17 19:49:35

这是一个解决办法。对于名为coo_matrix的给定m (与m.tocoo()一起获得):

1)创建用于写入的numpy.memmap数组:

代码语言:javascript
复制
mm = np.memmap('test.memmap', mode='w+', dtype=m.dtype, shape=m.shape)

2)将数据复制到memmap数组,该数组应该工作:

代码语言:javascript
复制
for i,j,v in zip(m.row, m.col, m.data):
    mm[i,j] = v

3)您可以访问文件..。中详细介绍的备忘录

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21188110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档