【发布时间】:2020-12-02 09:03:06
【问题描述】:
我正在研究一个形状为 (287318, 3704243) 的矩阵 tfidf_matrix,我试图将其重用于以后的计算。这是我的完整代码
tfidf_vectorizer = TfidfVectorizer()
# text shape is (287318,)
tfidf_matrix = tfidf_vectorizer.fit_transform(text)
X = tfidf_matrix.todense() # error here
pca_num_components = 2
reduced_data = PCA(n_components=pca_num_components).fit_transform(X)
我正试图通过 PCA 减少 tfidf_matrix 以用于绘图目的,但我在行 X = tfidf_matrix.todense() 说时遇到内存错误问题
MemoryError: Unable to allocate 7.74 TiB for an array with shape (287318, 3704243) and data type float64
请问有什么办法可以解决吗?
【问题讨论】:
-
这是一个巨大的数据量......你可能必须找到一种方法来处理你的数据块。
-
谢谢,这确实是唯一的办法
标签: python-3.x out-of-memory tokenize