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

网站短期就业培训班开发公司总经理管理方案

网站短期就业培训班,开发公司总经理管理方案,得物app官方下载安装,晋江论坛怎么发图TF-IDF(Term Frequency-Inverse Document Frequency)是一种广泛应用于文本挖掘和信息检索领域的经典加权算法,主要用于评估一个词语在文档集合中的重要程度。其核心思想是:一个词语在文档中出现的频率越高,同时在所有文…

TF-IDF(Term Frequency-Inverse Document Frequency)是一种广泛应用于文本挖掘和信息检索领域的经典加权算法,主要用于评估一个词语在文档集合中的重要程度。其核心思想是:一个词语在文档中出现的频率越高,同时在所有文档中出现的频率越低,则该词语对该文档的区分能力越强。

TF-IDF 的计算公式

TF-IDF(Term Frequency-Inverse Document Frequency)是一种常用的文本特征提取方法,由两部分组成:

1. 词频(TF,Term Frequency)

TF 衡量一个词在当前文档中出现的相对频率,计算公式为:

TF(t,d) = (词 t 在文档 d 中出现的次数) / (文档 d 的总词数)

应用场景:在一篇关于水果的文档中,"apple"出现频率自然比"computer"要高,TF值能反映这种词频差异。

示例计算

  • 文档 d 有 100 个词
  • 单词 "apple" 出现 5 次
  • 则 TF("apple", d) = 5 / 100 = 0.05

注意事项

  • 常用对数化或归一化处理来平滑极端值
  • 短文档中个别高频词可能产生过大的TF值

2. 逆文档频率(IDF,Inverse Document Frequency)

IDF 衡量一个词在整个语料库中的稀有程度,出现越少的词权重越高:

IDF(t,D) = log[ (语料库中文档总数 N) / (包含词 t 的文档数 + 1) ]

改进说明

  • 加1平滑处理(+1)是为了避免某些词未出现在语料库中导致分母为0
  • 对数运算(通常以10为底)可以压缩数值范围

示例计算

  • 语料库有1000篇文档
  • "apple"在100篇文档中出现过
  • 则 IDF("apple", D) = log(1000 / (100 + 1)) ≈ log(9.90) ≈ 2.30

特殊案例

  • 停用词(如"the"、"is")几乎出现在所有文档中,IDF值会趋近于0
  • 专业术语通常具有较高的IDF值

3. TF-IDF 最终计算

将TF和IDF相乘得到最终权重:

TF-IDF(t,d,D) = TF(t,d) × IDF(t,D)

示例计算

  • TF("apple", d) = 0.05
  • IDF("apple", D) ≈ 2.30
  • 则 TF-IDF("apple", d, D) = 0.05 × 2.30 ≈ 0.115

实际应用注意事项

  1. 语料库规模会影响IDF值
  2. 不同领域的文档需要分别计算IDF
  3. 通常会进行归一化处理(如L2归一化)
  4. 可以结合停用词过滤提高效果

变体公式: 一些实现会使用不同的对数底数或调整平滑方式,例如:

  • IDF(t,D) = log[1 + (N/(df(t)+1))]
  • 使用自然对数(ln)代替常用对数(log10)

 TF-IDF 的 Python 实现​

Scikit-learn: TfidfVectorizer

用途​​:将文本转换为 TF-IDF 特征矩阵,适用于机器学习任务。

核心参数​

参数

类型

默认值

说明

input

str

'content'

输入类型('filename''file''content'

encoding

str

'utf-8'

文本编码方式

lowercase

bool

True

是否转换为小写

stop_words

str/list

None

停用词表('english'或自定义列表)

max_features

int

None

最大特征数(按词频排序)

ngram_range

tuple

(1, 1)

N-gram 范围(如 (1, 2)包含 1-gram 和 2-gram)

min_df

int/float

1

忽略词频低于此值的词(整数=次数,浮点数=比例)

max_df

int/float

1.0

忽略词频高于此值的词(整数=次数,浮点数=比例)

norm

str

'l2'

归一化方式('l1''l2'或 None

use_idf

bool

True

是否启用 IDF 权重

smooth_idf

bool

True

是否平滑 IDF(避免除零错误)

​关键方法​

方法

说明

fit(raw_documents)

学习词汇和 IDF

transform(raw_documents)

将文档转换为 TF-IDF 矩阵

fit_transform(raw_documents)

合并 fit和 transform

get_feature_names_out()

获取词汇表(Python ≥3.6)

get_stop_words()

获取停用词列表

# 导入必要的库
from sklearn.feature_extraction.text import TfidfVectorizer  # 导入TF-IDF向量化工具
import pandas as pd  # 导入pandas用于数据处理# 读取文本文件
file = open('task2_1.txt', 'r')  # 打开名为'task2_1.txt'的文本文件
data = file.readlines()  # 读取文件的所有行,存储在列表data中# 初始化TF-IDF向量化器
vectorizer = TfidfVectorizer()  # 创建TF-IDF向量化器对象# 计算TF-IDF矩阵
vetft = vectorizer.fit_transform(data)  # 对数据进行拟合和转换,得到TF-IDF矩阵(稀疏矩阵)
print(vetft)  # 打印TF-IDF矩阵(显示稀疏矩阵的存储格式)# 获取特征词(词汇表)
words = vectorizer.get_feature_names_out()  # 获取所有特征词(即词汇表)
print(words)  # 打印特征词列表# 将TF-IDF矩阵转换为DataFrame
# vetft.T 转置矩阵(行变列,列变行)
# .todense() 将稀疏矩阵转换为稠密矩阵
# index=words 使用特征词作为行索引
df = pd.DataFrame(vetft.T.todense(), index=words)  # 创建DataFrame,行是特征词,列是文档
print(df, end='\n')  # 打印DataFrame# 提取特定文档(第6列,索引为5)的TF-IDF特征
features = df.iloc[:, 5]  # 获取第6个文档的所有特征值(Python从0开始计数)
features.index = words  # 设置索引为特征词(确保顺序一致)
results = features.sort_values()  # 对特征值进行排序(默认升序)
print(results)  # 打印排序后的结果(显示每个词在该文档中的TF-IDF值,按值从小到大排列)

http://www.dtcms.com/a/452936.html

相关文章:

  • GitHub 热榜项目 - 日榜(2025-10-07)
  • TDengine 比较函数 NULLIF 用户手册
  • SSM面试题学习
  • 网站建设练手项目我是做装修什么网站可以
  • Effective Python 第41条:考虑用mix-in类来表示可组合的功能
  • STM32独立看门狗IWDG与窗口看门狗WWDG知识梳理笔记
  • HTML-CSS-JS-入门学习笔记
  • 基于 MacOS 的Rokid 开发本地环境搭建指南
  • 以前的计算集群:Beowulf集群(贝奥武夫集群)
  • 软件开发中前端页面、后台管理页面、后端、数据中台的关系与开发流程
  • 政务微网站建设方案wordpress在线版本
  • TypeScript 循环
  • 【征文计划】JSAR实战:从零开始的空间小程序开发之旅
  • 用A4打印机1:1打印A3试卷(A3 pdf切割)
  • 知识体系_大数据框架环境搭建_虚拟机环境准备
  • 个人网站设计的参考文献网站建设制作解决方案
  • 《什么是Redis?》
  • soular入门到实战(4) - 如何通过工作台聚合TikLab所有工具链
  • 解决GitHub大文件推送错误:彻底清理PDB文件并配置.gitignore
  • 76、迁移飞浆PaddlePaddle的PP-LCNet_x1_0_doc_ori到onnx、mnn、ncnn、昇腾平台
  • 从“能看”到“看懂”:多模态大模型如何突破视觉理解的瓶颈
  • 【开题答辩全过程】以 爱之家线上动物救助站的设计与实现为例,包含答辩的问题和答案
  • 360搜索网站提交入口基于o2o的旅游网站建设
  • React Native:快速熟悉react 语法和企业级开发
  • Qwen-Audio:一种新的大规模音频-语言模型
  • 做教育网站宣传策略湖北三丰建设集团股份网站
  • 《Vuejs设计与实现》第 18 章(同构渲染)(上)
  • 【前端基础】20、CSS属性——transform、translate、transition
  • ChartStudio: New Chart Types Added for Enhanced Data Visualization
  • 测试用例设计万能公式:功能到安全