gpt4 book ai didi

python - 在 Scikit 中进行文本分类时是否需要标准化数据

转载 作者:行者123 更新时间:2023-11-30 09:12:30 24 4
gpt4 key购买 nike

我正在使用 Scikit 开发垃圾邮件过滤器。以下是我遵循的步骤:

Xdata = [“这是垃圾邮件”,“这是火腿”,“这又是垃圾邮件”]

  1. 矩阵 = 计数向量化器 (XData) 。矩阵将包含所有文档中每个单词的计数。所以 Matrix[i][j] 会给出文档 i

  2. 中单词 j 的计数
  3. Matrix_idfX = TFIDFVectorizer(矩阵)。它将标准化分数。

  4. Matrix_idfX_Select = SelectKBest( Matrix_IdfX , 500) 。它将把矩阵减少到 500 个最佳得分列

  5. Multinomial.train(Matrix_Idfx_Select)

现在我的问题是我需要在上述四个步骤中的任何一个步骤中执行标准化或标准化吗?如果是,那么在哪一步之后以及为什么?

谢谢

最佳答案

您可能需要在标记化(词干提取或词形还原)之前对单词进行规范化。请参阅related question例如。

注意:您不需要,因为“TfidfVectorizer 将 CountVectorizer 和 TfidfTransformer 的所有选项组合在一个模型中”( scikit docs )另请注意,“虽然 tf-idf 归一化通常非常有用,但在某些情况下,二进制出现标记可能会提供更好的特征。这可以通过使用 CountVectorizer 的二进制参数来实现。特别是一些估计器,例如 Bernoulli Naive贝叶斯显式地对离散 bool 随机变量进行建模。此外,非常短的文本可能具有嘈杂的 tf-idf 值,而二进制出现信息则更稳定。” (相同的文档)

关于python - 在 Scikit 中进行文本分类时是否需要标准化数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30546071/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com