【发布时间】:2017-09-17 01:46:06
【问题描述】:
我正在尝试在大约 200k 令牌的普通语料库上生成 tf-idf。我首先制作了那个词频的向量计数器。然后我生成了 tf-idf 矩阵并得到了以下结果。我的代码是
from sklearn.feature_extraction.text import TfidfVectorizer
with open("D:\history.txt", encoding='utf8') as infile:
contents = infile.readlines()
#define vectorizer parameters
tfidf_vectorizer = TfidfVectorizer(max_df=1.0, max_features=200000,
min_df=0.0,
use_idf=True, ngram_range=(1,3))
tfidf_matrix = tfidf_vectorizer.fit_transform(contents) #fit the vectorizer to contents
print(tfidf_matrix)
结果
(0, 8371) 0.0296607326158
(0, 27755) 0.159032195629
(0, 59369) 0.0871403881289
: :
(551, 64746) 0.0324104689629
(551, 10118) 0.0324104689629
(551, 9308) 0.0324104689629
虽然我想得到以下形式的结果
(551, good ) 0.0324104689629
【问题讨论】:
-
好吧,
TfidfVectorizer只是给你一个稀疏矩阵。之后如何处理它取决于您。(551, good )的意思是你想做分类吗?那就看scikit-learn.org/stable/tutorial/text_analytics/… -
这个问题很不清楚。 “好”是什么意思?
(551, 9308)表示元素(row_num, col_num)的索引。你想做什么? -
我想用文档单词显示 tf-idf 值
-
对不起。但我现在不想分类。我只想用文字显示结果。喜欢好的 0.9887766 喜欢 0.56744,其中所呈现的矩阵项用代码显示。
-
谢谢我明白了你的意思并解决了我的问题。我如何获得该数据的图表?你能帮帮我吗
标签: python-3.x scikit-learn tf-idf