文本挖掘稀疏/非稀疏意义

sub*_*bro 3 r text-mining

有人可以告诉我,下面的代码和输出意味着什么?我确实在这里创建了语料库

frequencies = DocumentTermMatrix(corpus)
frequencies
Run Code Online (Sandbox Code Playgroud)

输出是

<<DocumentTermMatrix (documents: 299, terms: 1297)>>
Non-/sparse entries: 6242/381561
Sparsity           : 98%
Maximal term length: 19
Weighting          : term frequency (tf)
Run Code Online (Sandbox Code Playgroud)

稀疏的代码就在这里.

sparse = removeSparseTerms(frequencies, 0.97)
sparse
Run Code Online (Sandbox Code Playgroud)

输出是

> sparse
<<DocumentTermMatrix (documents: 299, terms: 166)>>
Non-/sparse entries: 3773/45861
Sparsity           : 92%
Maximal term length: 10
Weighting          : term frequency (tf)
Run Code Online (Sandbox Code Playgroud)

这里发生了什么,非稀疏条目和稀疏条目是什么意思?有人可以帮助我理解这些.

谢谢.

Rav*_*avi 7

通过此代码,您创建了语料库的文档术语矩阵

frequencies = DocumentTermMatrix(corpus)
Run Code Online (Sandbox Code Playgroud)

文档术语矩阵(DTM)按文档列出语料库中所有出现的单词.在DTM中,文档由行表示,而术语(或单词)由列表示.如果在特定文档中出现单词,则对应于该行和列的矩阵条目为1,否则为0(记录文档中的多次出现 - 即,如果文档中出现两次单词,则为在相关矩阵条目中记录为"2".

作为一个例子,考虑具有两个文档的语料库.

Doc1:香蕉很好吃

Doc2:香蕉是黄色的

上述语料库的DTM看起来像

              banana          are        yellow       good
Doc1            1               1          1            0

Doc2            1               1          0            1
Run Code Online (Sandbox Code Playgroud)

输出

<<DocumentTermMatrix (documents: 299, terms: 1297)>>
Non-/sparse entries: 6242/381561
Sparsity           : 98%
Maximal term length: 19
Weighting          : term frequency (tf)
Run Code Online (Sandbox Code Playgroud)

输出表示DTM有299个条目,其中超过1297个条款至少出现过一次.

sparse = removeSparseTerms(frequencies, 0.97)
Run Code Online (Sandbox Code Playgroud)

现在,您要删除数据中不常出现的那些术语.我们将删除任何未出现在至少3%的条目(或文档)中的元素.关于上面创建的DTM,我们基本上删除那些条目为1个最少文档数的列.

现在,如果你看看输出

> sparse
<<DocumentTermMatrix (documents: 299, terms: 166)>>
Non-/sparse entries: 3773/45861
Sparsity           : 92%
Maximal term length: 10
Weighting          : term frequency (tf)
Run Code Online (Sandbox Code Playgroud)

条目(文件)的数量仍然相同,即299,但至少出现一次的术语数量已变为166.