问题标签 [tfidfvectorizer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
660 浏览

python - 如何使用 CountVectorizer 提取 TF?

如何获取由创建的词汇表中每个术语的术语频率(TF)sklearn.feature_extraction.text.CountVectorizer并将它们放入列表或字典中?

看来词汇表中所有key对应的值都是小于我在初始化CountVectorizer时手动设置的max_features的int数,而不是TF——应该是浮点数。有人可以帮我吗?

0 投票
1 回答
965 浏览

python - 在作为列表列表的数据帧的每一行中应用 TfidfVectorizer

我有一个包含 2 列的 pandas 数据框,我想在其中之一中sklearn TfidfVectorizer用于文本分类。但是,此列是列表列表,并且 TFIDF 想要将原始输入作为文本。在这个问题中,如果我们只有一个列表列表,他们提供了一个解决方案,但我想问一下如何在我的数据框的每一行中应用这个函数,哪一行包含一个列表列表。先感谢您。

想要的输出:

0 投票
1 回答
40 浏览

scikit-learn - 当我从管道中删除 RF 模型时,它会失去准确性

希望我在这里忽略了一些愚蠢的事情,或者我不明白这是如何工作的......

我有一个 nlp 管道,它基本上执行以下操作:

我运行它:

当我优化时,我通过以下方式获得了 90 年代的准确度:

TfidfVectorizer 是我计算的瓶颈,所以我想打破管道。运行矢量化器,然后在分类器上进行网格搜索,而不是在整个管道上运行它。这是我如何打破它:

当我在运行完整的网格搜索之前查看准确性时,它已经暴跌到刚刚超过 50%。当我尝试增加树的数量时,分数下降了近 10%。

有任何想法吗?

0 投票
1 回答
11993 浏览

python - 如何获得单词的 TF-IDF 分数?

我有一个很大的语料库(大约 40 万个独特的句子)。我只想获得每个单词的 TF-IDF 分数。我试图通过扫描每个单词并计算频率来计算每个单词的分数,但它花费的时间太长。

我用了 :

来自 sklearn 但它直接返回句子的向量表示。有什么方法可以获得语料库中每个单词的 TF-IDF 分数?

0 投票
1 回答
719 浏览

python - 重用具有 tf-idf 特征选择的 sklearn 文本分类模型

我对这里的 sk-learn 和机器学习比较陌生,所以请原谅任何可能的无知。我正在制作一个模型来根据文本描述(在 python 中)对资产进行分类。只有一个预测变量(文本)和一个预测变量(类别)。对于标签,我正在分解类别,大约有 30 个,所以每个都由一个从 0 到 29 的数字表示。对于特征,我使用的是 tf-idf 分数。建模和准确性都很好,我正在使用泡菜转储保存模型。

但是,模型需要可重用,因此它必须能够在某个时间点再次加载,以便标记一组新数据。请参阅下面的模型保存/加载代码。

请注意,tfidf 矢量化设置与模型训练/验证的设置完全相同。cat_dict 是类别的初始分解,在这里我只是确保将文本类别转换为与模型训练/验证的数字相同的数字。

当我尝试这样做时,我遇到了这个错误:

这是可以理解的,因为新数据集的 tf-idf 不会产生与最初使用的训练/验证数据集相同数量的特征。

所以我想知道是否有解决方法?在训练模型时我不应该首先使用 tf-idf 吗?如果不是,那么以后不会导致此问题的特征选择的替代方法是什么?

提前感谢,如果我遗漏了一些明显的东西,再次抱歉。

0 投票
1 回答
42 浏览

python - 使用 TfidfVectorizer 进行自然语言处理

我正在读取文件 train1.txt 中的字符串。但是当尝试执行语句 tfidf.fit(dataset) 时,它会导致错误。我无法完全修复错误。寻求帮助。

错误日志:

0 投票
2 回答
2503 浏览

python - 如何将两个文本文档与 tfidf 矢量化器进行比较?

我有两个不同的文本,我想使用 tfidf 矢量化进行比较。我正在做的是:

  1. 标记每个文档
  2. 使用 TFIDFVectorizer.fit_transform(tokens_list) 进行矢量化

现在我在第 2 步之后得到的向量具有不同的形状。但根据概念,我们应该对两个向量具有相同的形状。只有这样才能比较向量。

我究竟做错了什么?请帮忙。

提前致谢。

0 投票
1 回答
2397 浏览

python - 在大熊猫数据框的文本列上创建 TfidfVectorizer

我需要从存储在巨大数据框列中的文本中获取 TF-IDF 特征矩阵,CSV 文件(无法放入内存)加载。我正在尝试使用块迭代数据帧,但它返回的生成器对象不是TfidfVectorizer方法的预期变量类型。ChunkIterator我想我在编写如下所示的生成器方法时做错了。

任何人都可以建议如何修改上述方法,或使用dataframeChunkIterator的任何其他方法。我想避免为数据框中的每一行创建单独的文本文件。以下是一些用于重新创建场景的虚拟 csv 文件数据。

0 投票
1 回答
673 浏览

python - FeatureUnion ,带有 tfidf 特征的管道分类特征抛出错误

我正在尝试将 tfidf 和其他分类特征中的特征连接起来,以对结果数据集进行分类。从各种博客中,我了解到 FeatureUnion 可用于连接特征,然后将其传递给算法(在我的例子中是朴素贝叶斯)。

我已遵循此链接中的代码 - http://zacstewart.com/2014/08/05/pipelines-of-featureunions-of-pipelines.html

当我尝试执行代码时,它给出了错误

下面是我试图执行的代码:

谁能帮我解决这个错误。

注意:数据共有 9 列,其中 1 个目标变量(分类)和 1 个文本列(我想在其上执行 tfidf),其余为分类(上面代码中的 obj_cols)。

编辑: 谢谢维韦克。我没有注意到这一点。这是我错误地放置了变压器而不是 Vectorizer。即使在更换后我也遇到了错误。

编辑::

我已经检查了除描述列之外的所有分类变量中的唯一值,并且我发现测试数据中没有出现在训练中不存在的值。难道我做错了什么。

Edit2:: 附加信息 - 提到的 d_train、d_test 功能的详细信息。任何人都可以帮助我在预测方法上仍然遇到“尺寸不匹配”错误。

0 投票
2 回答
4647 浏览

python - 来自 sklearn 的 Tfidfvectorizer - 如何获取矩阵

我想从 sklearn 的 Tfidfvectorizer 对象中获取矩阵。这是我的代码:

这是我尝试并返回错误的方法:

另一次尝试