问题标签 [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.
python - 如何在无监督聚类期间在 sklearn 的 TfidfVectorizer 中选择参数
TfidfVectorizer 提供了一种将文本编码和转换为向量的简单方法。
我的问题是如何为 min_df、max_features、smooth_idf、sublinear_tf 等参数选择合适的值?
更新:
也许我应该在这个问题上提供更多细节:
如果我对一堆文本进行无监督聚类怎么办。而且我没有任何文本标签并且我不知道可能有多少个集群(这实际上是我想要弄清楚的)
scikit-learn - 作为参数传递给 Tfidfvectorizer 的标记器的预期返回类型是什么
我在看:
它只是说:
tokenizer:可调用或无(默认)覆盖字符串标记化步骤,同时保留预处理和 n-gram 生成步骤。仅在分析器 == 'word' 时适用。
函数应该返回什么?单词列表?是否有示例显示此函数必须返回的数据结构?
编辑:例如,如果我正在编写自己的自定义标记器函数,它应该返回什么。
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 文档简要提到了这种可能性,但没有太多细节。
任何建议将不胜感激!
python - tfidf 矢量化器给出错误的结果
我有如下文件
并TfidfVectorizer
给出以下值
从上面看,文件 1 和 3 都有“名称”术语,也没有。两个文档中的术语相同,因此 tf(name) 在两种情况下都应该相同。idf 也是一样的。但是为什么“名称”功能在两个文档中具有不同的 tfidf 值?
请帮助我理解这一点。
实际上,我有很多文档并在所有这些文档上都应用了 tfidf,上面给出的是前 5 条数据记录。
python - 用于数据过滤的 TF-IDF
我有一个原始文档列表,已经过滤并删除了英语停用词:
我用过
但我有一个
我无法解释结果。那么,我是在使用正确的工具还是必须改变方式?
我的目标是获取每个文档中的相关单词,以便与查询文档中的其他单词进行余弦相似度。
先感谢您。
python - Sklearn TFIDF 矢量化线程安全吗?
我已经构建了一个 TfidfVectorizer 并将其拟合到我的数据集
我现在想tfidf.transform()
在多个线程中做。这样做安全吗?
python - 有没有办法使用 scikit 或任何其他 python 包只获取单词的 IDF 值?
我的数据集中有一个文本列,使用该列我想为所有存在的单词计算一个 IDF。scikit 中的 TFID 实现,比如tfidf
vectorize,直接给我 TFIDF 值,而不是单词 IDF。有没有办法让单词 IDF 给出一组文档?
python - 用 spacy 覆盖 scikitlearn 向量器的标记器
我想用Spacy
包实现词形还原。这是我的代码:
但是当我运行该代码时发生了此错误消息。
我怎么解决这个问题 ?
scikit-learn - 在 sklearn.feature_extraction.text.TfidfVectorizer 中使用 nltk.stem.SnowballStemmer 时
我在 sklearn.feature_extraction.text.TfidfVectorizer 中使用 nltk.stem.SnowballStemmer 来提高效率,但是有一个问题。
输出如下:
“磁盘”一词在所有句子中,“磁盘”的权重应为0。如何修复代码