问题标签 [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-3.x - 多标签分类器代码错误
我正在尝试训练分类器按类型标记电影。这部电影的情节可能属于不止一种类型。 这就是我的数据框的样子 ,当我试图弄清楚测试集中每种电影类型的准确度得分是多少时,我不断收到此错误消息。错误消息: TypeError:“FramePlotMethods”对象不可迭代
有人可以解释我做错了什么吗?
我从https://github.com/davidsbatista/text-classification/blob/master/movies_genres_en.csv.bz2获得了电影数据
这是一开始的代码
将数据拆分为训练集和测试集
当我运行最后一个代码块 TypeError: 'FramePlotMethods' object is not iterable时出现此错误
我在创建 df 时做错了什么?
python - python中tfidfvectorizer sklearn中数字的令牌模式
我需要为几个句子计算 tfidf 矩阵。句子包括数字和单词。我正在使用下面的代码这样做
Tfidf 函数只考虑单词作为它的词汇,即
但我需要数字成为令牌的一部分
预期的
阅读TfidfVectorizer文档后,我知道必须更改token_pattern和tokenizer参数。但我不知道如何改变它来考虑数字和标点符号。
谁能告诉我如何更改参数。
python - 如何为 TfidfVectorizer 使用列表列表或集合列表?
我正在使用sklearn TfidfVectorizer进行文本分类。
我知道这个矢量化器需要原始文本作为输入,但使用列表是有效的(参见 input1)。
但是,如果我想使用多个列表(或集合),我会收到以下属性错误。
有谁知道如何解决这个问题?提前致谢!
Traceback(最近一次调用最后一次):文件“”,第 1 行,在文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/sklearn/feature_extraction/text.py”中,第 1381 行,在 fit_transform X = super(TfidfVectorizer, self).fit_transform(raw_documents) 文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/sklearn/feature_extraction/text.py ",第 869 行,在 fit_transform self.fixed_vocabulary_) 文件中 "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/sklearn/feature_extraction/text.py",第 792 行,在 _count_vocab对于分析(doc)中的功能:文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/sklearn/feature_extraction/text.py”,第266行,在标记化(预处理(self.decode(doc))),stop_words)文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/sklearn/feature_extraction/text.py”,第 232 行,作为回报 lambda x: strip_accents(x.lower()) AttributeError: 'list' object has no attribute 'lower'
scikit-learn - 使用更多的 n-gram 顺序如何降低多项 NaiveBayes 分类器的准确性?
我正在使用 nltk 和 构建文本分类模型,并sklearn
在 20newsgroups 数据集sklearn
(每个文档大约 130 个单词)上对其进行训练。
我的预处理包括删除停用词和词形还原标记。
接下来,在我的管道中,我将它传递给tfidfVectorizer()
并希望操纵矢量化器的一些输入参数以提高准确性。我读过n-grams(通常,n小于提高准确性,但是当我用分类器对矢量化器输出进行分类时,在tfidf中multinomialNB()
使用ngram_range=(1,2)
and ,它会降低准确性。有人可以帮忙解释为什么吗?ngram_range=(1,3)
编辑:这是请求的示例数据,其中包含我用来获取它并剥离标题的代码:
这是我的管道,运行代码来训练模型和打印精度:
python - 带有生成器的大型语料库上的 TfidfVectorizer
我将大型语料库拆分为 5K 个文件,我正在尝试使用 TF-IDF trasform 生成基于 IDF 的词汇表。
下面是代码:基本上我有一个迭代器,它循环遍历 .tsv 文件的目录,读取每个文件并生成。
这会产生以下错误:
我也试过这个:
并得到以下错误:
在大型语料库上使用 TFIDFVectorizer 的最佳方法是什么?我还尝试将一个常量字符串附加到每个产量字符串以避免第一个错误,但这也没有解决它。感谢任何帮助!
scikit-learn - sklearn TtfidfVectorizer 停用词_
有没有办法获取 sklearn 的 TtfidfVectorizer 的 stopwords_ 属性(不是停用词)的 tf 和 idf?
它们已经被计算过了,所以模型应该有这些值,但是有没有人使用过它们?如果不是,我想我必须破解内部代码并自己获取它们,对吗?
[更新]
对于可能最终解决这个问题的任何人,作为更新,我最终做的是破解sklearn/feature_extraction/text.py
并将单词和值导出为类 CountVectorizer 的元组,而不仅仅是单词。
python - 从 Tfidf Vectorizer 中仅选择前 n 个特征
从 tfidf Vectorizer 中选择前 100 个单词后,如何将维度更新为 100?
python - Inputting document-term frequency matrix in TfidfVectorizer()?
I am coming up with a made-up example of bag of words from three documents (I am demonstrating how tf-idf works given a document-term frequency matrix), and I want to transform my bow matrix into a tf-idf matrix. I don't actually have text data, just the number I made up in my example? How can I use that to produce tf-idf output? I am getting the error message "'numpy.ndarray' object has no attribute 'lower'" on the last line (and I am assuming it is because fit_transform
is expecting text data. Is it possible to specify or override this somehow?
python-3.x - tfidf在python中使用余弦相似度进行句子相似度
我需要在源(输入)和目标(数据库记录)之间找到匹配对。我正在使用具有余弦相似度的 tf-idf 来计算匹配项。
但是,即使正确匹配对的常用词比其他词多,我得到的分数也更少,在其他少数情况下,我得到的余弦分数超过 10-12 对,这是所有分数中最高的
例如:
以下是我正在遵循的步骤
- 读取源和目标数据
- 预处理源数据和目标数据(小写,用单词去除标点符号)
- 对于每个源数据,我采用一个源数据并与目标数据连接。为源-目标语料库构建 tf-idf 矩阵,将源描述中的描述作为词汇表
下面是代码
在上面的代码中:数据:源-目标语料库
vocab:words 仅在源描述中
我得到的结果是
输出 1 : 对于源-目标对 源:FEBCO 905532 1/2 - 1 860-AG 金属 目标:febco® 601-m 无铅气隙漏极,用于 860/lf860 860u/lf860u 系列 1/2 至 1 减压组件
我得到余弦分数 0.409562707 (这是正确的一对)
output2: 但我得到的最高余弦分数为0.5对
来源:FEBCO 905532 1/2 - 1 860-AG METAL 目标:watts radiant™ 81008809 胶带垫,13 英尺 - 4 英寸 lx 3 英尺宽,40 平方英尺的覆盖面积,240 VAC 瓦特 radiant™ 胶带垫,3 英尺宽, 13 英尺 - 4 英寸长,40 平方英尺的覆盖范围,240 VAC,橙色
问题:是否有任何其他术语权重指标可以让我获得正确匹配对的最高余弦分数?