Numpy 从稀疏矩阵中获取过滤后的共现
我有一个scipy csr稀疏矩阵(一个用scikit learn的CountVectorizer创建的文档术语矩阵) 矩阵是巨大的(跨越950万文档的7800万代币): 也许有更好的方法,使用某种过滤方法 我的最终目标是共同出现的通缉代币矩阵。作为实现这一目标的第一步,我使用以下方法创建了熊猫数据帧:Numpy 从稀疏矩阵中获取过滤后的共现,numpy,machine-learning,scikit-learn,scipy,nlp,Numpy,Machine Learning,Scikit Learn,Scipy,Nlp,我有一个scipy csr稀疏矩阵(一个用scikit learn的CountVectorizer创建的文档术语矩阵) 矩阵是巨大的(跨越950万文档的7800万代币): 也许有更好的方法,使用某种过滤方法 我的最终目标是共同出现的通缉代币矩阵。作为实现这一目标的第一步,我使用以下方法创建了熊猫数据帧: pd.DataFrame(zip(tokenids_we_want, tokenarrays)) 但是,这不会导致tokenarray中的每个令牌都有一列。 也许有一个更好的方法来满足我的需求
pd.DataFrame(zip(tokenids_we_want, tokenarrays))
但是,这不会导致tokenarray中的每个令牌都有一列。
也许有一个更好的方法来满足我的需求:
- 从稀疏文档术语矩阵开始
- 仅保留部分条款(代币)
- 获取术语共现
dtm[:,列出要提取的内容]
?这只是做一个矩阵列索引。@hpaulj是的,它可以工作!最后一步是基于新的较小dtm获得术语共现。
tokenarrays = []
for tokenid in tokenids_we_want[:3]:
tokenarray = dtm.getcol(tokenid).toarray()
tokenarrays.append(tokenarray)
pd.DataFrame(zip(tokenids_we_want, tokenarrays))