私は前処理されたデータを作成しました。今、それをベクトル化してテキストファイルに書きたいと思います。ベクトル化オブジェクトを配列に変換する際に、このエラーが発生します。可能な解決策は何でしょうか?ベクター化オブジェクトtoArray()、配列が大きすぎるエラー
from sklearn.feature_extraction.text import CountVectorizer
import numpy as np
vectorizer = CountVectorizer(analyzer = "word", \
tokenizer = None, \
preprocessor = None, \
stop_words = None, \
max_features = 1000)
newTestFile = open("testfile.txt", 'r', encoding='latin-1')
featureVector=vectorizer.fit_transform(newTestFile)
train_data_features = featureVector.toarray()
np.savetxt('plotFeatureVector.txt', train_data_features, fmt="%10s %10.3f")
The error:
Traceback (most recent call last):
File "C:/Users/NuMA/Desktop/Lecture Stuff/EE 485/Project/Deneme/bagOfWords.py", line 12, in <module>
train_data_features = featureVector.toarray()
File "C:\Users\NuMA\AppData\Local\Programs\Python\Python35-32\lib\site-packages\scipy\sparse\compressed.py", line 964, in toarray
return self.tocoo(copy=False).toarray(order=order, out=out)
File "C:\Users\NuMA\AppData\Local\Programs\Python\Python35-32\lib\site-packages\scipy\sparse\coo.py", line 252, in toarray
B = self._process_toarray_args(order, out)
File "C:\Users\NuMA\AppData\Local\Programs\Python\Python35-32\lib\site-packages\scipy\sparse\base.py", line 1039, in _process_toarray_args
return np.zeros(self.shape, dtype=self.dtype, order=order)
ValueError: array is too big; `arr.size * arr.dtype.itemsize` is larger than the maximum possible size.
あなたはベクトル化オブジェクトを変換していません。「featureVector」は疎行列です。 –
[ポータブルデータ形式でscipy sparse csr \ _matrixを保存/ロードする]の可能な複製(http://stackoverflow.com/questions/8955448/save-load-scipy-sparse-csr-matrix-in-portable-data-format ) –
特に、dupe-targetの[this](http://stackoverflow.com/a/42101691/5014455)答えで** np.savez/np.load **のアプローチを使用する必要があります。 –