我正在jupyter笔记本上做一个NLP项目,数据集涉及160000行。在运行给定的代码时,我得到一个内存错误
messages = list(zip(processed, Y))
# defined a seed for reproducibility
seed = 1
np.random.seed = seed
np.random.shuffle(messages)
# calling find_features function for each comments
featuresets = [(find_features(text), label) for (text, label) in messages]
错误显示为-
<ipython-input-18-faca481e94f7> in find_features(message)
3 features = {}
4 for word in word_features:
----> 5 features[word] = (word in words)
6
7 return features
MemoryError:
有没有办法解决这个问题。 我正在运行windows 64位4gb RAM core i5第8代笔记本电脑
不确定它是否能完全解决您的问题,但您似乎创建了一个带有布尔值的字典,该字典将单词搜索结果存储在列表/集合/任何内容中
如果列表中只有几个单词,它仍然会创建一个包含大量
False
值的大型字典,而您只需要True
值(除非您需要知道哪些值已经过测试)我将替换:
与
或集合理解:
现在要测试
word
是否存在于features
中,只需执行if word in features:
创建一个只包含匹配单词的
set
将删除测试所在的条目False
,它还将删除值,只保留单词所属的键相关问题 更多 >
编程相关推荐