精通特征工程(四)特征缩放的效果:从词袋到tf-idf

#此篇为学习笔记,部分资料、图片来源 图灵程序设计丛书 《精通特征工程》阿曼达 .卡萨丽、爱丽丝.郑 著

在理想情况下,我们需要能强调出有意义的单词的表示方法

tf-idf:词袋的一种简单扩展

tf-idf是在词袋方法基础上的一种简单扩展,它表示词频-逆文档频率

TF(Term Frequency,词频):是指一个词在特定文档中出现的频率。如果一个词在文档中频繁出现,那么这个词对文档的重要性就高。

IDF(Inverse Document Frequency,逆文档频率):是用来衡量一个词的普遍重要性。如果一个词在文档集合中很多文档都出现,那么这个词的IDF值会比较低;反之,如果一个词只在少数文档中出现,那么这个词的IDF值会比较高。

举个例子:

假设我们有以下三个文档组成的语料库:

  • 文档A:“狗是人类最好的朋友。”
  • 文档B:“猫喜欢鱼。”
  • 文档C:“狗和猫都是宠物。”

我们的目标是计算每个词在每个文档中的TF-IDF值,以确定哪些词对于每个文档来说是最重要的。

首先,我们计算词频(TF),即一个词在文档中出现的次数与文档中总词数的比例。

计算TF

  • 文档A中,“狗”的TF是1/7,"是"的TF是1/7,"人类"的TF是1/7,"最好"的TF是1/7,"朋友"的TF是1/7。
  • 文档B中,“猫”的TF是1/4,"喜欢"的TF是1/4,"鱼"的TF是1/4。
  • 文档C中,“狗”的TF是1/7,"和"的TF是1/7,"猫"的TF是1/7,"都"的TF是1/7,"是"的TF是1/7,"宠物"的TF是1/7。

接下来,我们计算逆文档频率(IDF),这需要查看一个词在多少个文档中出现过。IDF的公式是: 𝐼𝐷𝐹=log⁡(文档总数包含该词的文档数+1)IDF=log(包含该词的文档数+1文档总数​)

计算IDF

  • “狗”在2个文档中出现,所以IDF为 log⁡(32)log(23​)。
  • “猫”也在2个文档中出现,所以IDF同样为 log⁡(32)log(23​)。
  • “是”在3个文档中出现,所以IDF为 log⁡(33)=0log(33​)=0(注意,log⁡(1)=0log(1)=0)。
  • “人类”、“最好”和“朋友”分别只在1个文档中出现,所以IDF为 log⁡(31)log(13​)。

最后,我们计算TF-IDF,即TF和IDF的乘积。

计算TF-IDF

  • 文档A中,“狗”的TF-IDF是 (1/7)∗log⁡(32)(1/7)∗log(23​),"人类"、"最好"和"朋友"的TF-IDF会更高,因为它们的IDF更大。
  • 文档B中,“猫”和“鱼”的TF-IDF较高,因为它们的TF较高且IDF不是0。
  • 文档C中,“狗”和“猫”的TF-IDF相对较高,但低于只在该文档中出现的词。

通过这种方式,我们可以看出哪些词对于特定文档更为重要。在这个例子中,“人类”、“最好”、“朋友”、“鱼”和“宠物”等词由于只在一个文档中出现,所以它们的TF-IDF值相对更高,这意味着它们更能代表各自文档的主题。 

以上说了那么多,其实tf-idf的直观理解是:tf-idf突出了罕见词,并且有效地忽略了常见词

小结 

特征缩放(包括欧几里得归一化和tf-idf)的真正用武之地是加快解的收敛速度。

tf-idf可以比较彻底地消除那些没有信息量的单词。

特征缩放的另一个作用:可以减少数据矩阵的条件数,大大加快训练线性模型的速度。

总而言之:正确的特征缩放有助于分类问题。

  • 16
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值