首页 > 其他分享 >TF-IDF

TF-IDF

时间:2024-01-24 15:14:42浏览次数:14  
标签:单词 语料库 tfidf IDF 文档 TF

定义:

  TF-IDF 是针对一个文档集合(语料库)设计的,这种统计方法用于评估一个词语对于一份文件的重要程度

  就是TF-IDF的值越高,这个词在这篇文档中的重要性就越高

  • TF (Term Frequency): 这是一个单词在该篇文章中出现的频率。例如,如果一个单词在文档中出现了5次,而文档总共有100个单词,那么这个单词的TF值就是5/100=0.05。

    •   

       

  • IDF (Inverse Document Frequency): 这是用来衡量一个单词对文档集合(或语料库)的重要性的值。IDF的计算公式通常是取对数形式,比如,如果语料库中有1000个文档,而某个单词只出现在10个文档中,那么这个单词的IDF值就是log(1000/10)=2。

    •   

       

  • TF-IDF: 这是将TF和IDF相乘得到的值。在上面的例子中,如果一个单词在某个文档中的TF是0.05,IDF是2,则它的TF-IDF值就是0.05 * 2 = 0.1。

原理:

  如果某个词语在一篇文章中出现的频率高(词频,TF),并且在其他文章中很少出现(逆文档频率,IDF),则认为这个词语具有很好的类别区分能力,对理解文档的内容很重要

 

步骤:

  1. 将所有的文章组成集合list,作为参数,传递给对象

 

demo:

  

from sklearn.feature_extraction.text import TfidfVectorizer

# 示例文档
documents = [
    "the sky is blue",
    "the sun is bright"
]

# 初始化 TF-IDF 向量化器
vectorizer = TfidfVectorizer()

# 计算 TF-IDF
tfidf_matrix = vectorizer.fit_transform(documents)

# 获取词汇
words = vectorizer.get_feature_names_out()

# 将 TF-IDF 矩阵转换为数组
tfidf_array = tfidf_matrix.toarray()

# 创建一个字典来存储每个文档的 TF-IDF
tfidf_dict = {word: tfidf_array[:, idx] for idx, word in enumerate(words)}

tfidf_dict

  

 

标签:单词,语料库,tfidf,IDF,文档,TF
From: https://www.cnblogs.com/mxleader/p/17984721

相关文章

  • 22-有参转录组实战8-基因功能注释_GO_KEGG_swissprot_pfam_TFDB_iTAK
    #进行功能注释时,我们只用到蛋白文件,就是上一期提取序列的文件“Ptri.protein.fa”。#使用命令“grep-c">"Ptri.protein.fa”统计下“>”的个数,发现有52400个。#新建文件夹“swissprot”wgethttps://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase......
  • 使用Java编写RESTful Web服务
    RESTfulWeb服务是一种基于HTTP协议的软件架构风格,它使用不同的HTTP方法(如GET、POST、PUT、DELETE等)来执行不同的操作,并使用统一的接口来访问和操作资源。在Java中,有多种框架可用于编写RESTfulWeb服务,其中最流行的是SpringBoot和Jersey。以下是使用SpringBoot编写RESTfulWeb服......
  • UofTCTF 2024 比赛记录
    这次的题目挺有意思,难度适中,*开头的代表未做出,简单记录一下解题笔记。IntroductionGeneralInformation题目TheflagformatforallchallengesisUofTCTF{...},caseinsensitive.Ifyouareexperiencingtechnicaldifficultieswithchallenges,supportisonour......
  • [转帖]细说:Unicode, UTF-8, UTF-16, UTF-32, UCS-2, UCS-4
    https://www.cnblogs.com/malecrab/p/5300503.html 1.Unicode与ISO10646全世界很多个国家都在为自己的文字编码,并且互不想通,不同的语言字符编码值相同却代表不同的符号(例如:韩文编码EUC-KR中“한국어”的编码值正好是汉字编码GBK中的“茄惫绢”)。因此,同一份文档,拷贝至不......
  • KnightCTF 2024 WEB做题记录
    WEBLeviAckerman题目信息LeviAckermanisarobot! N:B:Thereisnoneedtodobruteforce. Author:saifTarget:http://66.228.53.87:5000/我的解答:签到题,题目提示了robot!直接访问robots.txt得到路径Disallow:/l3v1_4ck3rm4n.html再次访问路径得到flagK......
  • .Net 中实体类转换为XML字符串, 确保字符串头部是utf-8 不是utf-16
    使用Utf8StringWriter或类似的方法来确保在序列化过程中使用正确的编码。然而,Utf8StringWriter不是.NETCore或.NETStandard库的一部分,因此你需要自己实现一个。不过,有一种更简单的方法可以达到相同的效果,那就是使用StringWriter与Encoding.GetEncoding("utf-8")结合,但这实际上......
  • STM32CubeMX教程22 FSMC - 8080并行接口TFT-LCD驱动
    1、准备材料开发板(正点原子stm32f407探索者开发板V2.4)STM32CubeMX软件(Version6.10.0)野火DAP仿真器keilµVision5IDE(MDK-Arm)ST-LINK/V2驱动XCOMV2.6串口助手2、实验目标使用STM32CubeMX软件配置STM32F407开发板FSMC接口驱动8080并行接口TFT-LCD显示,具体为使用FSMCBank......
  • tensorflow-gpu error:CUDNN_STATUS_ALLOC_FAILED或者self._traceback = tf_stack.extr
    tensorflow-gpuerror:CUDNN_STATUS_ALLOC_FAILED或者self._traceback=tf_stack.extract_stack() 在有些情况下,因为深度学习框架版本更新,细节的变动会使我们的代码最初对应修改:报错信息(出现其中一种):1.Couldnotcreatecudnnhandle:CUDNN_STATUS_ALLOC_FAILED2.self._trac......
  • CTF-秀-Web(1-3)
    write-up:web-1:题目描述:web签到题解题方法:打开靶机得到一个写着:wherisflag?的页面:先查看一下它的源码:得到一串类似base64的编码,然后把它放进base64里面进行解码一下得到我们的flag:ctfshow{c3a5c6fd-4bc3-45b5-ad68-afd54e4b99d6}web-2:题目描述:最简单的SQL注入解题......
  • CTFHUB-综合过滤练习
    前言靶场地址:www.ctfhub.com综合过滤练习点击查看代码<?php$res=FALSE;if(isset($_GET['ip'])&&$_GET['ip']){$ip=$_GET['ip'];$m=[];if(!preg_match_all("/(\||&|;||\/|cat|flag|ctfhub)/",$......