python矩阵并计算矩_python – 如何计算term-document矩阵?

CountVectorizer().fit_transform()的输出是稀疏矩阵.这意味着它只存储矩阵的非零元素.当您执行打印(X)时,只会在图像中显示非零条目.

CountVectorizer在其默认配置中,对给定文档或原始文本进行标记(仅包含其中包含2个或更多字符的术语)并计算单词出现次数.

基本上,步骤如下:

> Step1 – 从fit()中的所有文档中收集所有不同的术语.

对于您的数据,他们是

[u’disk’,u’format’,u’hard’,u’how’,’u’my’,u’problems’,u’to’]

这可以从vectorizer.get_feature_names()获得

> Step2 – 在transform()中,计算fit()中出现的每个文档中的术语数,并在术语 – 频率矩阵中输出它.

在您的情况下,您将两个文档都提供给transform()(fit_transform()是fit()的简写,然后是transform()).所以,结果是

[u’disk’,u’format’,u’hard’,u’how’,’u’my’,u’problems’,u’to’]

首先1 1 1 1 1 0 1

Sec 0 1 1 0 0 1 0

您可以通过调用X.toarray()来获得上述结果.

在您发布的print(X)图像中,第一列表示term-freq矩阵的索引,第二列表示该术语的频率.

< 0,0>表示第一行,第一列,即第一个文档中术语“磁盘”(我们的标记中的第一项)的频率= 1

< 0,2>表示第一行,第三列,即第一个文档中术语“硬”(我们的标记中的第三项)的频率= 1

< 0,5>表示第一行,第六列,即第一个文档中术语“问题”(我们的标记中的第六项)的频率= 0.但是因为它是0,所以它不会显示在图像中.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值