【问题标题】:why the numpy.size function is acting weird?为什么 numpy.size 函数表现得很奇怪?
【发布时间】:2014-02-05 12:54:17
【问题描述】:

我有一个矩阵,名为 X_test,由 sklearn.feature_extraction.text.CountVectorizer 生成。当我执行以下功能时:

                import numpy as np
                np.set_printoptions(threshold='nan')
                print(X_test.shape)
                print(X_test.size)
                print(X_test.ndim)
                print(np.array(X_test))

我明白了:

  (10211, 218904)
  477881
  2
  (0, 934)  14
  (0, 6773) 1
  (0, 11035)    1
  (0, 22362)    1
  (0, 23619)    1
  (0, 24812)    1
  (0, 25224)    1
  : :
  (0, 64428)    1
  (0, 66506)    1

我不知道为什么尺寸不是矩阵尺寸(形状)的乘积。

【问题讨论】:

    标签: python-2.7 numpy scikit-learn


    【解决方案1】:

    CountVectorizer 的结果是 scipy.sparse 矩阵,而不是 NumPy 数组。在这样的矩阵上,np.size 报告实际存储元素的数量,它可以(应该)远小于shape 的乘积。

    (另外,要将其转换为数组,请使用 toarray 方法,但请注意,您将创建一个大小为几 GB 的数组,而不是用于稀疏格式的几 MB。)

    【讨论】:

      猜你喜欢
      • 2023-01-07
      • 1970-01-01
      • 2018-07-08
      • 2020-05-30
      • 1970-01-01
      • 1970-01-01
      • 2021-10-11
      • 2018-10-29
      • 2018-09-09
      相关资源
      最近更新 更多