当前位置:   article > 正文

TF-IDF代码实现案例

tf-idf代码

目录

一、 TF-IDF算法简介

二、代码示例



一、 TF-IDF算法简介

TF-IDF(term frequency–inverse document frequency,词频-逆向文件频率)算法是一种用于信息检索与文本数据挖掘的常用加权技术。它用统计学方法评估一个词对某篇文章的重要程度,常用来提取文章的关键词,算法简单高效,因此常用于信息检索的粗排阶段。

TF-IDF算法的核心思想是通过统计的方法,评估一个词对一个文件集或者语料库的重要程度。一个词的重要程度跟它在文章中出现的次数成正比,跟它在语料库出现的次数成反比。这种计算方式能有效避免常用词对关键词的影响,提高了关键词与文章之间的相关性。
 

二、代码示例

所需文件下载:(点击此处)

  1. from sklearn.feature_extraction.text import TfidfVectorizer
  2. import pandas as pd
  3. date = open(r'task2_1.txt','r') #读取文件
  4. lines = date.readlines() #读取文件所有行,并将他们存储在名为‘lines’的列表中
  5. vectorizer = TfidfVectorizer() #创建一个 TfidfVectorizer 对象:
  6. tfidf = vectorizer.fit_transform(lines) #使用 TfidfVectorizer 对文本进行 TF-IDF 变换
  7. print('tfidf',tfidf)
  8. wordlist = vectorizer.get_feature_names_out() #获取 TF-IDF 变换后的特征词列表
  9. print('特征词列表wordlist:',wordlist)
  10. df = pd.DataFrame(tfidf.T.todense(),index=wordlist) #创建一个 Pandas DataFrame 来存储 TF-IDF 矩阵,索引为特征词
  11. print('df:',df)
  12. featurelist = df.iloc[:,1].to_list() #将一个 Pandas DataFrame(通常用于存储表格数据)中的某一列提取出来,并将其转换为一个 Python 列表。
  13. resdict = {} # 创建一个空字典 resdict,该字典将用于存储 wordlist 中的元素作为键
  14. for i in range(0,len(wordlist)): # 遍历wordlist 列表中的元素
  15. resdict[wordlist[i]] = featurelist[i]
  16. resdict = sorted(resdict.items(),key=lambda x: x[1],reverse=True) # 将字典转换为一个包含键-值对的列表,每个键-值对表示为一个元组。
  17. print(resdict)

运行结果:

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/937477
推荐阅读
相关标签
  

闽ICP备14008679号