文本挖掘 sparse/Non-sparse 含义
text mining sparse/Non-sparse meaning
有人可以告诉我,下面代码和输出的含义吗?我确实在这里创建了 Corpus
frequencies = DocumentTermMatrix(corpus)
frequencies
输出是
<<DocumentTermMatrix (documents: 299, terms: 1297)>>
Non-/sparse entries: 6242/381561
Sparsity : 98%
Maximal term length: 19
Weighting : term frequency (tf)
这里是稀疏代码。
sparse = removeSparseTerms(frequencies, 0.97)
sparse
输出是
> sparse
<<DocumentTermMatrix (documents: 299, terms: 166)>>
Non-/sparse entries: 3773/45861
Sparsity : 92%
Maximal term length: 10
Weighting : term frequency (tf)
这里发生了什么,Non-/sparse 个条目和稀疏性是什么意思?有人可以帮助我理解这些。
谢谢。
通过这段代码,您已经创建了语料库的文档术语矩阵
frequencies = DocumentTermMatrix(corpus)
文档术语矩阵 (DTM) 按文档列出语料库中出现的所有单词。在 DTM 中,文档由行表示,术语(或单词)由列表示。如果某个词在特定文档中出现,则该行和该列对应的矩阵项为1,否则为0(记录在文档中多次出现——即如果一个词在文档中出现两次,则为在相关矩阵条目中记录为“2”。
例如考虑有两个文档的语料库。
Doc1:香蕉很好吃
Doc2:香蕉是黄色的
上述语料库的 DTM 看起来像
banana are yellow good
Doc1 1 1 1 0
Doc2 1 1 0 1
输出
<<DocumentTermMatrix (documents: 299, terms: 1297)>>
Non-/sparse entries: 6242/381561
Sparsity : 98%
Maximal term length: 19
Weighting : term frequency (tf)
输出表示 DTM 有 299 个条目,其中有超过 1297 个术语至少出现过一次。
sparse = removeSparseTerms(frequencies, 0.97)
现在您要删除那些在您的数据中不经常出现的术语。我们将删除至少 3% 的条目(或文档)中未出现的任何元素。关于上面创建的 DTM,我们基本上删除了那些条目至少为 1 的列。
现在,如果您查看输出
> sparse
<<DocumentTermMatrix (documents: 299, terms: 166)>>
Non-/sparse entries: 3773/45861
Sparsity : 92%
Maximal term length: 10
Weighting : term frequency (tf)
条目(文档)的数量仍然相同,即 299,但至少出现一次的术语数量已更改为 166。
Non-/sparse entries: 6242/381561
Sparsity : 98%
这看起来像 frequencies
中的 381561
个单元格是 0
,6242
具有非零值。 98%
个单元格为零(即 381561/(381561+6242)
)
removeSparseTerms(frequencies, 0.97)
删除了 frequencies
中的那些术语,所有单元格中至少 97%
为零,即在语料库中很少见。因此,您会得到一个新的 DocumentTermMatrix
,其中包含 166
个术语,并且只有 45861
个零条目。
稀疏性 是一个常用术语。在文本挖掘中,您经常会得到非常大的矩阵,其中许多单元格为零。不将所有单元格一个接一个地存储在内存中可能比较聪明,而是只存储少数非零条目 + 它们的位置以节省内存。您可以通过查找 稀疏矩阵 来了解更多相关信息。
有人可以告诉我,下面代码和输出的含义吗?我确实在这里创建了 Corpus
frequencies = DocumentTermMatrix(corpus)
frequencies
输出是
<<DocumentTermMatrix (documents: 299, terms: 1297)>>
Non-/sparse entries: 6242/381561
Sparsity : 98%
Maximal term length: 19
Weighting : term frequency (tf)
这里是稀疏代码。
sparse = removeSparseTerms(frequencies, 0.97)
sparse
输出是
> sparse
<<DocumentTermMatrix (documents: 299, terms: 166)>>
Non-/sparse entries: 3773/45861
Sparsity : 92%
Maximal term length: 10
Weighting : term frequency (tf)
这里发生了什么,Non-/sparse 个条目和稀疏性是什么意思?有人可以帮助我理解这些。
谢谢。
通过这段代码,您已经创建了语料库的文档术语矩阵
frequencies = DocumentTermMatrix(corpus)
文档术语矩阵 (DTM) 按文档列出语料库中出现的所有单词。在 DTM 中,文档由行表示,术语(或单词)由列表示。如果某个词在特定文档中出现,则该行和该列对应的矩阵项为1,否则为0(记录在文档中多次出现——即如果一个词在文档中出现两次,则为在相关矩阵条目中记录为“2”。
例如考虑有两个文档的语料库。
Doc1:香蕉很好吃
Doc2:香蕉是黄色的
上述语料库的 DTM 看起来像
banana are yellow good
Doc1 1 1 1 0
Doc2 1 1 0 1
输出
<<DocumentTermMatrix (documents: 299, terms: 1297)>>
Non-/sparse entries: 6242/381561
Sparsity : 98%
Maximal term length: 19
Weighting : term frequency (tf)
输出表示 DTM 有 299 个条目,其中有超过 1297 个术语至少出现过一次。
sparse = removeSparseTerms(frequencies, 0.97)
现在您要删除那些在您的数据中不经常出现的术语。我们将删除至少 3% 的条目(或文档)中未出现的任何元素。关于上面创建的 DTM,我们基本上删除了那些条目至少为 1 的列。
现在,如果您查看输出
> sparse
<<DocumentTermMatrix (documents: 299, terms: 166)>>
Non-/sparse entries: 3773/45861
Sparsity : 92%
Maximal term length: 10
Weighting : term frequency (tf)
条目(文档)的数量仍然相同,即 299,但至少出现一次的术语数量已更改为 166。
Non-/sparse entries: 6242/381561
Sparsity : 98%
这看起来像 frequencies
中的 381561
个单元格是 0
,6242
具有非零值。 98%
个单元格为零(即 381561/(381561+6242)
)
removeSparseTerms(frequencies, 0.97)
删除了 frequencies
中的那些术语,所有单元格中至少 97%
为零,即在语料库中很少见。因此,您会得到一个新的 DocumentTermMatrix
,其中包含 166
个术语,并且只有 45861
个零条目。
稀疏性 是一个常用术语。在文本挖掘中,您经常会得到非常大的矩阵,其中许多单元格为零。不将所有单元格一个接一个地存储在内存中可能比较聪明,而是只存储少数非零条目 + 它们的位置以节省内存。您可以通过查找 稀疏矩阵 来了解更多相关信息。