尝试使用sklearn的CountVectorizer

时间:2020-09-27 23:19:24

标签: python scikit-learn scipy nlp text-mining

我正在尝试使用CountVectorizer创建文档项矩阵。我的数据报获得了约18万行数据。这是我正在使用的代码:

from sklearn.feature_extraction.text import CountVectorizer
cv = CountVectorizer(stop_words='english')

X = cv.fit_transform(df.content) #X is a scipy sparse matrix
data_dtm = pd.DataFrame(X.toarray(), columns=cv.get_feature_names())

我在这里遇到此错误: MemoryError:无法为形状为(180399,52142)和数据类型为int64的数组分配70.1 GiB

我用todense()尝试了同样的事情,以及:

data_dtm = pd.DataFrame(X.todense(), columns=cv.get_feature_names())

但是还是一样。我知道问题出在 toarray()/ todense() 我发现了一些关于在稀疏矩阵上应用这些功能的类似问题,但无法获得有效的答案。例如,使用 asarray()是对我不起作用的建议之一!

感谢您的帮助!

0 个答案:

没有答案