所以我正在做一个关于推特情绪分析的项目,其中我碰巧需要在收集的推文上使用 TFIDF。所以我将推文列表转换为单个字符串并将其提供给对象,问题是我得到了大多数具有不同值的单词的相同值,但它们也非常频繁。为什么会这样?是因为我使用单个字符串作为输入吗?
问问题
653 次
1 回答
0
根据出现的次数,不同单词的频率可以是相同的数字。我的古腾堡项目代码如下。
from sklearn.feature_extraction.text import TfidfVectorizer
tfvect = TfidfVectorizer(stop_words='english')
### The corpus is from Project Gutenberg after all the text cleanup.
karlmarx_freq = tfvect.fit_transform(gutenberg_KarlMarx_Corpus)
tftermFreq = pd.DataFrame(karlmarx_freq.toarray(),columns=tfvect.get_feature_names())
tfsumdf = tftermFreq.sum(axis=0)
pd.DataFrame({'Vocab': tfsumdf.index, 'Frequency': tfsumdf.values}).sort_values(by='Frequency', ascending=False)
结果是:
1412 产量 0.177513
345 条件 0.174032
1151 现代 0.142706
1704 社交 0.128784
1000 劳动力 0.128784
641 存在 0.111381
1705 社会主义 0.104419
1117 表示 0.100939
923行业0.100939
有关如何进行此计算的详细信息,请参阅scikit-learn文档。
Tf-Idf = 词频 * 逆文档频率
于 2018-07-12T17:26:09.597 回答