【问题标题】:meaning of High sparsity matrix from Sk-learn CountVectorizer来自 Sk-learn CountVectorizer 的高稀疏矩阵的含义
【发布时间】:2023-04-08 16:05:02
【问题描述】:

我使用 sk-learn.CountVectorizer() 创建向量矩阵,发现它有 57% 被 0 填充。在某些在线案例中,他们的稀疏矩阵只有 30% 被零填充。我想知道稀疏程度的影响。在稀疏矩阵中具有更少的零是更好还是更差或没有区别?对于这个观察,我们可以给出什么 cmet?

【问题讨论】:

    标签: scikit-learn nlp countvectorizer


    【解决方案1】:

    事实上,30% 甚至 57% 的零意味着高度稀疏。因此,在您的情况下,忽略稀疏事实并将您的矩阵视为密集矩阵是足够安全的。

    真正的高稀疏性类似于 99.99% 的零。它发生在推荐系统等问题中,当有数千甚至数百万个项目时,每个用户只与其中几个进行交互。另一种情况是当我们有非常短的文本(例如推文或对话轮次)和非常大的词汇量(甚至可能是多语言词汇)时。

    如果特征矩阵的稀疏度真的很高,则意味着:

    1. 如果您想有效地存储矩阵或使用它进行快速计算,您可能需要使用明确支持scipy 的稀疏矩阵的算法。
    2. 特征空间可能是高维的,并且可能某些特征彼此高度相关。因此,您可能会发现降维有助于使您的模型更易于处理和更好地泛化。您可以使用矩阵分解技术(例如 PCA)或神经嵌入层来实现这种降维。或者,也许您可​​以使用预训练的词嵌入并以某种方式聚合它们来表示您的文档。

    一般来说,表示文档的最佳方式取决于您要解决的最终问题。对于某些问题(例如具有大型训练集的文本分类),高维稀疏表示可能是最佳的;对于其他人(例如,小文本的相似性或带有小标签训练集的文本分类),低维密集表示会更好。

    【讨论】:

      猜你喜欢
      • 2015-08-04
      • 1970-01-01
      • 1970-01-01
      • 2019-05-29
      • 2021-11-03
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      • 1970-01-01
      相关资源
      最近更新 更多