NLP 做词频矩阵时,遇到特大矩阵触发memoryerror的处理方式

昨天做NLP词频矩阵处理时候,遇到内存不足的问题,遇到memoryerror的情况。查了不少资料,都让我在大的机器上跑,但是有时候资源有限。

由于我的句子中的每个词语都是重要的,所以不设置停用词,也就是countvectoirze才符合我的需求,而并非TFIDFVECTORIZE,TFIDF是为了减小句子中的一些出现频率高但是却没有意义的词的权重。因此我选择了countvectorize。

当数据量小的时候, 我们可以这样进行词频矩阵

from sklearn.feature_extraction.text import CountVectorizer
count_vec=CountVectorizer(token_pattern=r"(?u)\b[^/]+\b")
X_count_train = count_vec.fit_transform(word_list1)
X_count_train= X_count_train.toarray()




#结果
成功输出!

但是当我的数据量有130W+的句子。其中存在重复项70W+。一些电脑内存不够时,就会出现memoryerror!!

以下为做COUNTVECTORIZE词频矩阵代码:

from sklearn.feature_extraction.text import CountVectorizer
count_vec=CountVectorizer(token_pattern=r"(?u)\b[^/]+\b")
X_count_train = count_vec.fit_transform(word_list
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值