tfidf算法python计算权重_使用不同的方法计算TF-IDF值

本文介绍了使用gensim和sklearn库计算TF-IDF权重的不同方法,包括gensim的自动去除停用词和sklearn的特征提取。通过实例展示了手动实现TF-IDF的步骤,强调了不同方法的特性和适用场景。
摘要由CSDN通过智能技术生成

欢迎大家访问我的博客以及简书

本博客所有内容以学习、研究和分享为主,如需转载,请联系本人,标明作者和出处,并且是非商业用途,谢谢!

一. 摘要

这篇文章主要介绍了计算TF-IDF的不同方法实现,主要有三种方法:

用gensim库来计算tfidf值

用sklearn库来计算tfidf值

用python手动实现tfidf的计算

关于TFIDF的算法原理我就不过多介绍了,看这篇博客即可——TF-IDF原理。阮一峰大佬写的,浅显易懂,看了这么多篇就这篇最好懂。

二. 正文

1.使用gensim提取文本的tfidf特征

首先来看我们的语料库

corpus = [

'this is the first document',

'this is the second second document',

'and the third one',

'is this the first document'

]

接下来看我们的处理过程

1)把语料库做一个分词的处理

[输入]:

word_list = []

for i in range(len(corpus)):

word_list.append(corpus[i].split(' '))

print(word_list)

[输出]:

[['this', 'is', 'the', 'first', 'document'],

['this', 'is', 'the', 'second', 'second', 'document'],

['and', 'the', 'third', 'one'],

['is', 'this', 'the', 'first', 'document']]

得到每个词的id值及词频

[输入]:

from gensim import corpora

# 赋给语料库中每个词(不重复的词)一个整数id

dictionary = corpora.Dictionary(word_list)

new_corpus = [dictionary.doc2bow(text) for text in word_list]

print(new_corpus)

# 元组中第一个元素是词语在词典中对应的id,第二个元素是词语在文档中出现的次数

[输出]:

[[(0, 1), (1, 1), (2, 1), (3, 1), (4, 1)],

[(0, 1), (2, 1), (3, 1), (4, 1), (5, 2)],

[(3, 1), (6, 1), (7, 1), (8, 1)],

[(0, 1), (1, 1), (2, 1), (3, 1), (4, 1)]]

[输入]:

# 通过下面的方法可以看到语料库中每个词对应的id

print(dictionary.to

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值