稀疏矩阵到稠密矩阵转换时的pythonmory错误

2024-06-17 14:59:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用python计算文档的Tfidf值。我的基本方法如下:

from sklearn.feature_extraction.text import TfidfVectorizer
tfidf_vectorizer = TfidfVectorizer(max_df=0.5,stop_words="english")
tfidf_matrix = tfidf_vectorizer.fit_transform(clean_tweet)

tfidf_matrix=tfidf_matrix.astype('float32')
termss = tfidf_vectorizer.get_feature_names()

toarry=tfidf_matrix.todense()# this step return a Memoryerror.

工作非常好,但是不幸的是,当我试图将稀疏矩阵转换为密集的toarry=tfidf_matrix.todense()时,python返回一个MemoryError。tfidf_矩阵的维数为(6602141320297),是稀疏矩阵矩阵。英寸另外,我有100G的可用内存,我搜索过一些解决方案,比如使用np.memmap或{},但我不确定。在

那么,有人知道如何将稀疏矩阵转换为稠密矩阵而不产生内存错误吗?在

p.S。 我剩下的代码是

^{pr2}$

我想把稠密矩阵转换成一维矩阵,这样我就可以得到前100个tfidf单词。在


Tags: 方法textfrom文档矩阵sklearnmatrixfeature