scikit-learn 进行tf-idf计算

本文介绍了TF-IDF算法的基本概念及其在文本关键词提取中的应用。TF-IDF是一种用于衡量一个词对一篇文档的重要程度的方法,它能有效排除那些频繁出现但实际意义不大的词汇。通过具体的计算公式和示例展示了如何利用TF-IDF筛选出关键信息。

参考网站:sciki-learn feature-extraction

tf-idf基本概念


tf-idf主要是用于提取文本关键词,在文本中,有些词语如:我,你,他这种词会在大量文本出现,而对文本的分类起不大作用的词语。这时候使用tf-idf提取文本的关键词就可以把这些通用次筛选掉了。

直接上公式了,一个词的tf-idf用下式计算:
这里写图片描述
其中tf是词在一个文本出现的次数,idf指一个词在所有文本出现的值,用下式表示。
其中idf在scikit-learn用下式计算:
这里写图片描述
在scikit-learn中最后会用Euclidean norm来把值保留在0-1之间。

>>>counts = [[3, 0, 1],
           [2, 0, 0],
           [3, 0, 0],
           [4, 0, 0],
           [3, 2, 0],
           [3, 0, 2]]
>>>tfidf = transformer.fit_transform(counts)
>>>tfidf.toarray()                        
array([[ 0.81940995,  0.        ,  0.57320793],
       [ 1.        ,  0.        ,  0.        ],
       [ 1.        ,  0.        ,  0.        ],
       [ 1.        ,  0.        ,  0.        ],
       [ 0.47330339,  0.88089948,  0.        ],
       [ 0.58149261,  0.        ,  0.81355169]])

上面是一个tf-idf计算过程
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这是第一个词的tf-idf
剩下两个词语用下列计算得
这里写图片描述
这里写图片描述
最后归一化
这里写图片描述
这样就能计算出所有文档中所有词语的tf-idf

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值