问题标签 [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 回答
12804 浏览

python - 如何在无监督聚类期间在 sklearn 的 TfidfVectorizer 中选择参数

TfidfVectorizer 提供了一种将文本编码和转换为向量的简单方法。

我的问题是如何为 min_df、max_features、smooth_idf、sublinear_tf 等参数选择合适的值?

更新:

也许我应该在这个问题上提供更多细节:

如果我对一堆文本进行无监督聚类怎么办。而且我没有任何文本标签并且我不知道可能有多少个集群(这实际上是我想要弄清楚的)

0 投票
0 回答
300 浏览

scikit-learn - 作为参数传递给 Tfidfvectorizer 的标记器的预期返回类型是什么

我在看:

http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html

它只是说:

tokenizer:可调用或无(默认)覆盖字符串标记化步骤,同时保留预处理和 n-gram 生成步骤。仅在分析器 == 'word' 时适用。

函数应该返回什么?单词列表?是否有示例显示此函数必须返回的数据结构?

编辑:例如,如果我正在编写自己的自定义标记器函数,它应该返回什么。

0 投票
0 回答
1257 浏览

scikit-learn - 通过 sklearn tfidf 矩阵来训练 MultinomialNB 模型是否正确?

我正在做一些文本分类任务。我观察到的是,如果输入 tfidf 矩阵(来自 sklearn 的TfidfVectorizer),Logistic 回归模型总是优于 MultinomialNB 模型。下面是我训练两者的代码:

目前 lr_score > mnb_score 总是。我想知道 MultinomialNB 究竟是如何使用 tfidf 矩阵的,因为 tfidf 中的术语频率是根据没有类信息计算的。我不应该像对 LogisticRegression 一样将 tfidf 矩阵提供给 MultinomialNB 吗?

TfidfVectorizer更新:我了解和的结果之间的区别CountVectorizer。而且我还刚刚检查了sklearn 的 MultinomialNB.fit() 函数的源代码,看起来它确实希望计数与频率相反。这也将解释我在下面的评论中提到的性能提升。但是,我仍然想知道在任何情况下将 tfidf 传递到 MultinomialNB 是否有意义。sklearn 文档简要提到了这种可能性,但没有太多细节。

任何建议将不胜感激!

0 投票
1 回答
1302 浏览

python - tfidf 矢量化器给出错误的结果

我有如下文件

TfidfVectorizer给出以下值

从上面看,文件 1 和 3 都有“名称”术语,也没有。两个文档中的术语相同,因此 tf(name) 在两种情况下都应该相同。idf 也是一样的。但是为什么“名称”功能在两个文档中具有不同的 tfidf 值?

请帮助我理解这一点。

实际上,我有很多文档并在所有这些文档上都应用了 tfidf,上面给出的是前 5 条数据记录。

0 投票
1 回答
925 浏览

python - 用于数据过滤的 TF-IDF

我有一个原始文档列表,已经过滤并删除了英语停用词:

我用过

但我有一个

我无法解释结果。那么,我是在使用正确的工具还是必须改变方式?

我的目标是获取每个文档中的相关单词,以便与查询文档中的其他单词进行余弦相似度。

先感谢您。

0 投票
1 回答
486 浏览

python - Sklearn TFIDF 矢量化线程安全吗?

我已经构建了一个 TfidfVectorizer 并将其拟合到我的数据集

我现在想tfidf.transform()在多个线程中做。这样做安全吗?

0 投票
1 回答
795 浏览

python - 将二维列表(tfidf 结果的密集输出)附加到 pandas 数据帧行,每个索引

在 tfidf 矢量化器之后我有以下输出。我想将密集输出解析为熊猫数据框列,但我无法直接将 toarray 或 todense 函数应用于稀疏 tfidf 输出并将其传递给熊猫数据框列。所以我将 tfidf 结果的密集输出接收到一个列表中。现在列表的形状为(6,20),我想将列表的每一行迭代解析为熊猫数据框列中的行,因为数据框列的长度也是 6。我尝试将列表转换为熊猫系列并将其传递给数据框但是不适用于二维列表。

lt_1 的输出

0 投票
1 回答
3395 浏览

python - 有没有办法使用 scikit 或任何其他 python 包只获取单词的 IDF 值?

我的数据集中有一个文本列,使用该列我想为所有存在的单词计算一个 IDF。scikit 中的 TFID 实现,比如tfidfvectorize,直接给我 TFIDF 值,而不是单词 IDF。有没有办法让单词 IDF 给出一组文档?

0 投票
2 回答
1279 浏览

python - 用 spacy 覆盖 scikitlearn 向量器的标记器

我想用Spacy包实现词形还原。这是我的代码:

但是当我运行该代码时发生了此错误消息。

我怎么解决这个问题 ?

0 投票
1 回答
617 浏览

scikit-learn - 在 sklearn.feature_extraction.text.TfidfVectorizer 中使用 nltk.stem.SnowballStemmer 时

我在 sklearn.feature_extraction.text.TfidfVectorizer 中使用 nltk.stem.SnowballStemmer 来提高效率,但是有一个问题。

输出如下:

“磁盘”一词在所有句子中,“磁盘”的权重应为0。如何修复代码