当前位置: 首页 > wzjs >正文

手机购物app排行榜前十名seo排名怎样

手机购物app排行榜前十名,seo排名怎样,泰兴网站建设开发,济南上门做睫毛的网站文章目录 引言一、什么是TF-IDF?二、TF-IDF的数学原理1. 词频(TF)计算2. 逆文档频率(IDF)计算3. TF-IDF计算 三、TF-IDF的Python实现1.数据文件介绍2.导入库3.读取数据4.数据预处理5.对单词进行排序6.全部代码 四、结语 引言 在自然语言处理(NLP)和文本挖掘领域&am…

文章目录

  • 引言
  • 一、什么是TF-IDF?
  • 二、TF-IDF的数学原理
    • 1. 词频(TF)计算
    • 2. 逆文档频率(IDF)计算
    • 3. TF-IDF计算
  • 三、TF-IDF的Python实现
    • 1.数据文件介绍
    • 2.导入库
    • 3.读取数据
    • 4.数据预处理
    • 5.对单词进行排序
    • 6.全部代码
  • 四、结语

引言

在自然语言处理(NLP)和文本挖掘领域,将文本转换为机器可理解的数值形式是一个关键步骤。TF-IDF(Term Frequency-Inverse Document Frequency)是一种简单而强大的文本特征提取方法,广泛应用于搜索引擎、文档分类、信息检索等领域。本文将深入探讨TF-IDF的原理、实现及应用。

一、什么是TF-IDF?

TF-IDF是一种统计方法,用于评估一个词对于一个文档集或语料库中的某个文档的重要程度。
核心思想:一个词在当前文档中出现的频率越高,同时在所有文档中出现的频率越低,则该词对当前文档的代表性越强。

TF-IDF由两部分组成:

  1. 词频(TF, Term Frequency):衡量词在文档中出现的频率
  2. 逆文档频率(IDF, Inverse Document Frequency):衡量词的普遍重要性

二、TF-IDF的数学原理

1. 词频(TF)计算

TF即词频,是指某个词语在文章中出现的次数。这个数字通常会被归一化(一般是词频除以文章总词数),以防止它偏向长的文件。
TF的计算公式为:

在这里插入图片描述

  • TF的直观意义:TF越高,说明该词在文档中出现的频率越高,可能是某一篇文档的一个重要关键词。

2. 逆文档频率(IDF)计算

IDF即逆文档频率,其主要思想是:如果包含某个词语的文档越少,则IDF越大,说明这个词语具有很好的类别区分能力。
IDF的计算公式为:

在这里插入图片描述

  • N 是文档集的总文档数。
  • df(t) 是包含词语 t 的文档数。分母加1是为了避免分母为0的情况。
  • IDF的直观意义:对于词t来说,包含词t的文档数量越多,IDF越低,说明该词在大多数文档中都出现,因此它们对区分文档的能力较弱。反之,IDF越高的词在所有文档中出现频率低,说明它是具有区分度的关键词。

3. TF-IDF计算

将TF和IDF相乘得到TF-IDF值:
在这里插入图片描述

  • TF(t,d) 是词语 t 在文档 d 中的词频。
  • IDF(t) 是词语 t 的逆文档频率。
  • TF-IDF的直观意义
    如果一个词在某篇文档中频繁出现(TF高),同时这个词在其他文档中出现较少(IDF高),那么这个词对该文档的意义较大,TF-IDF值也会较高。如果一个词在文档中出现频繁,但在所有文档中也很常见(IDF低),则它的TF-IDF值较低。

三、TF-IDF的Python实现

下面我们使用Python的scikit-learn库来实现TF-IDF。

1.数据文件介绍

我们在这里使用六行英文单词数据,数据文件命名为 task2_1.txt 。使用TfidfVectorizer计算TF-IDF值,并输出TF-IDF 稀疏矩阵。
在这里插入图片描述

2.导入库

from sklearn.feature_extraction.text import TfidfVectorizer
import pandas as pd
  • 从sklearn库中导入TfidfVectorizer
  • 导入pandas库

3.读取数据

inFile = open(r".\task2_1.txt",'r')  
corpus = inFile.readlines()  
  • r:以只读模式打开文件。
  • readlines(): 读取文件的所有行,返回一个列表,每个元素为文件的一行。

4.数据预处理

vectorizer = TfidfVectorizer() tfidf = vectorizer.fit_transform(corpus)
print(tfidf)  wordlist = vectorizer.get_feature_names() 
print(wordlist)df= pd.DataFrame(tfidf.T.todense(),index=wordlist) 
print(df)
  • vectorizer = TfidfVectorizer() :类,转为TF-IDF的向量转换对象。
  • fit_transform(): 对输入的文本数据 corpus 进行拟合(计算词汇表和 IDF 值)并转换为TF-IDF 矩阵。
  • tfidf: 返回的结果是一个稀疏矩阵(scipy.sparse.csr_matrix),表示每个文档的 TF-IDF 特征向量。
  • 打印 TF-IDF 稀疏矩阵。稀疏矩阵只存储非零值,因此输出会显示非零值及其位置。
  • vectorizer.get_feature_names() :获取特征名称,所有的词。
  • todense(): 将稀疏矩阵转换为稠密矩阵(普通二维数组)。
  • df.iloc[:,5].to_list():通过索引号获取第6列的内容并转换为列。

打印出的 TF-IDF 稀疏矩阵:

在这里插入图片描述
打印的wordlist列表:

在这里插入图片描述
TF-IDF矩阵转换为DataFrame矩阵格式:

在这里插入图片描述

5.对单词进行排序

featurelist = df.iloc[:,5].to_list()  resdict = {}
for i in range(0,len(wordlist)):resdict[wordlist[i]] = featurelist[i]resdict = sorted(resdict.items(),key=lambda x: x[1],reverse=True)
print(resdict)
  • featurelist = df.iloc[:,5].to_list():通过索引号获取第6列的内容并转换为列
  • resdict = {}:创建一个空字典 resdict,用于存储词汇和对应的特征值。
  • resdict[wordlist[i]] = featurelist[i]:将 wordlist 中的每个词作为键,featurelist 中对应的值作为值,存入字典 resdict。例如,如果 wordlist = [‘apple’, ‘banana’],featurelist = [0.5, 0.8],则 resdict = {‘apple’: 0.5, ‘banana’: 0.8}。
  • sorted(): 返回排序后的列表,每个元素是一个 (key, value) 元组。
  • resdict.items(): 将字典转换为 (key, value) 对的列表。
  • key=lambda x: x[1]: 指定排序依据为字典的值(即特征值)。
  • reverse=True: 按降序排序(从大到小)。

6.全部代码

from sklearn.feature_extraction.text import TfidfVectorizer
import pandas as pdinFile = open(r".\task2_1.txt",'r')  
corpus = inFile.readlines()  vectorizer = TfidfVectorizer()    tfidf = vectorizer.fit_transform(corpus) 
print(tfidf)  wordlist = vectorizer.get_feature_names()  
print(wordlist)df= pd.DataFrame(tfidf.T.todense(),index=wordlist) 
print(df)featurelist = df.iloc[:,5].to_list()  
print(featurelist)resdict = {}   
for i in range(0,len(wordlist)):resdict[wordlist[i]] = featurelist[i]resdict = sorted(resdict.items(),key=lambda x: x[1],reverse=True)
print(resdict)

四、结语

优点

  • 简单快速,而且容易理解。
  • 可以有效地提取文本中的关键信息,避免了常见词的干扰。

缺点

  • 用词频来衡量文章中的一个词的重要性不够全面,有时候重要的词出现的可能不够多。
  • 而且这种计算无法体现位置信息(比如在文本第一段的词很重要,中间段的词不重要,即使它们有相同TF-IDF值),无法体现词在上下文的重要性。

希望本文能帮助你全面理解TF-IDF,并在实际项目中灵活应用这一强大的文本特征提取工具。

http://www.dtcms.com/wzjs/402955.html

相关文章:

  • 安龙网站建设微信营销软件
  • 上海鹭城建设集团网站百度下载安装官方下载
  • 通信工程毕设可以做网站吗独立站怎么建站
  • 网站开发 管理方案推广普通话ppt课件
  • 慧聪网网站建设策略实时热搜
  • 问卷调查网站怎么做免费p站推广网站入口
  • 怎么做网站凡科2023年8月疫情恢复
  • 帝国cms做门户网站南京做网站的公司
  • 宁波做网站网络推广都有哪些方式
  • 哪些网站做的比较炫台州seo排名外包
  • 北京住房城乡建设委官方网站海口网站关键词优化
  • 网站建设文件上传无锡网站关键词推广
  • 做网站去哪里做好百度关键词优化点击 教程
  • 男女做那种的视频网站怎么自己制作网页
  • 做的好的日本网站设计网络推广服务商
  • 档案网站的建设china东莞seo
  • 做图素材网站 千网络营销策划书1000字
  • 西安做网站微信公司哪家好seo公司赚钱吗
  • 广东网站备案查询新东方考研班收费价格表
  • 北京做微信网站百度推广后台登陆入口
  • 山西省建设工程网站营销软文范文
  • 网站后台链接怎么做网站的建设流程
  • 手机网站建设合同中国站长素材网
  • 阅文集团旗下哪个网站做的最好java培训班学费一般多少
  • 如何做网站不被坑网络推广营销方法
  • 德国网站建设网站管理系统
  • 广东省自然资源厅领导分工关键词怎么优化
  • 北京营销型网站开发三十个知识点带你学党章
  • 宜昌十堰网站建设哪家好百度网盘客服电话
  • 怎么做淘宝联盟网站推广如何建立自己的网站?