2014-01-16 48 views
0

我有一個矩陣,名爲X_test,從sklearn.feature_extraction.text.CountVectorizer生成。當我執行以下功能:爲什麼numpy.size函數表現怪異?

   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 

我不知道爲什麼大小不是矩陣尺寸(形狀)的產品。

回答

5

來自CountVectorizer的結果是scipy.sparse矩陣,而不是NumPy數組。在這樣的矩陣中,np.size報告實際存儲的元素的數量,其可以(應該)遠小於shape的乘積。

(另外,將其轉換爲一個數組,使用toarray方法,但要注意,你會創造在尺寸,而不是用於稀疏格式幾MB的數組幾個GB)。

相關問題