iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >机器学习中词袋模型和TF-IDF怎么理解
  • 694
分享到

机器学习中词袋模型和TF-IDF怎么理解

2023-06-19 12:06:57 694人浏览 八月长安
摘要

本篇内容主要讲解“机器学习中词袋模型和TF-IDF怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“机器学习中词袋模型和TF-IDF怎么理解”吧!示例我将用一个流行的例子来解释本文中的Bag

本篇内容主要讲解“机器学习中词袋模型和TF-IDF怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“机器学习中词袋模型和TF-IDF怎么理解”吧!

示例

我将用一个流行的例子来解释本文中的Bag of Words(BoW)和TF-IDF。

我们都喜欢看电影(不同程度)。在我决定看一部电影之前,我总是先看它的影评。我知道你们很多人也这么做!所以,我在这里用这个例子。

以下是关于某部恐怖电影的评论示例:

  • 点评一:This movie is very scary and long

  • 点评二:This movie is not scary and is slow

  • 点评三:This movie is spooky and Good

你可以看到关于这部电影的一些对比评论,以及电影的长度和节奏。想象一下看一千篇这样的评论是多么枯燥。显然,我们可以从中汲取很多有趣的东西,并以此为基础来衡量电影的表现。

然而,正如我们在上面看到的,我们不能简单地把这些句子交给机器学习模型,让它告诉我们一篇评论是正面的还是负面的。我们需要执行某些文本预处理步骤。

“词袋”和TF-IDF就是两个这样做的例子。让我们详细了解一下。

从文本创建向量

你能想出一些我们可以在一开始就把一个句子向量化的技巧吗?基本要求是:

  • 它不应该导致稀疏矩阵,因为稀疏矩阵会导致高计算成本

  • 我们应该能够保留句子中的大部分语言信息

词嵌入是一种利用向量表示文本的技术。还有2种单词嵌入形式是:

  1. Bow,代表词袋

  2. TF-IDF,代表词频-逆文本频率

现在,让我们看看如何将上述电影评论表示为嵌入,并为机器学习模型做好准备。

词袋(BoW)模型

词袋(BoW)模型是数字文本表示的最简单形式。像单词本身一样,我们可以将一个句子表示为一个词向量包(一个数字串)。

让我们回顾一下我们之前看到的三种类型的电影评论:

  • 点评一:This movie is very scary and long

  • 点评二:This movie is not scary and is slow

  • 点评三:This movie is spooky and good

我们将首先从以上三篇评论中所有的独特词汇中构建一个词汇表。词汇表由这11个单词组成:“This”、“movie”、“is”、“very”、“stear”、“and”、“long”、“not”、“slow”、“spooky”、“good”。

现在,我们可以将这些单词中的每一个用1和0标记在上面的三个电影评论中。这将为我们提供三个用于三个评论的向量:

机器学习中词袋模型和TF-IDF怎么理解

点评向量1:[1 1 1 1 1 1 0 0 0 0]

点评向量2:[1 1 2 0 0 1 0 1 0 0 0]

点评向量3:[1 1 1 0 0 0 1 0 1 1 1 1]

这就是“词袋”(BoW)模型背后的核心思想。

使用单词包(BoW)模型的缺点

在上面的例子中,我们可以得到长度为11的向量。然而,当我们遇到新的句子时,我们开始面临一些问题:

  1. 如果新句子包含新词,那么我们的词汇量就会增加,因此向量的长度也会增加。

  2. 此外,向量还包含许多0,从而产生稀疏矩阵(这是我们希望避免的)

  3. 我们没有保留任何关于句子语法和文本中单词顺序的信息。

词频-逆文本频率(TF-IDF)

我们先对TF-IDF下一个正式定义。百科是这样说的:

“TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF是词频(Term Frequency),IDF是逆文本频率指数(Inverse Document Frequency)”

术语频率(TF)

首先让我们理解术语频繁(TF)。它是衡量一个术语t在文档d中出现的频率:

机器学习中词袋模型和TF-IDF怎么理解

这里,在分子中,n是术语“t”出现在文档“d”中的次数。因此,每个文档和术语都有自己的TF值。

我们再次使用我们在词袋模型中构建的相同词汇表来演示如何计算电影点评2:

点评 2: This movie is not scary and is slow

这里

  • 词汇:“This”,“movie”,“is”,“very”,“stear”,“and”,“long”,“not”,“slow”,“spooky”,“good”

  • 点评2的单词数=8

  • 单词“this”的TF=(点评2中出现“this”的次数)/(点评2中的单词数)=1/8

同样地

  • TF(‘movie’) = 1/8

  • TF(‘is’) = 2/8 = 1/4

  • TF(‘very’) = 0/8 = 0

  • TF(‘scary’) = 1/8

  • TF(‘and’) = 1/8

  • TF(‘long’) = 0/8 = 0

  • TF(‘not’) = 1/8

  • TF(‘slow’) = 1/8

  • TF( ‘spooky’) = 0/8 = 0

  • TF(‘good’) = 0/8 = 0

我们可以这样计算所有点评的词频:

机器学习中词袋模型和TF-IDF怎么理解

逆文本频率(IDF)

IDF是衡量一个术语有多重要的指标。我们需要IDF值,因为仅计算TF不足以理解单词的重要性:

机器学习中词袋模型和TF-IDF怎么理解

我们可以计算点评2中所有单词的IDF值:

IDF('this')=log(文档数/包含“this”一词的文档数)=log(3/3)=log(1)=0

同样地,

  • IDF(‘movie’, ) = log(3/3) = 0

  • IDF(‘is’) = log(3/3) = 0

  • IDF(‘not’) = log(3/1) = log(3) = 0.48

  • IDF(‘scary’) = log(3/2) = 0.18

  • IDF(‘and’) = log(3/3) = 0

  • IDF(‘slow’) = log(3/1) = 0.48

我们可以计算每个单词的IDF值。因此,整个词汇表的IDF值为:

机器学习中词袋模型和TF-IDF怎么理解

因此,我们看到“is”、“this”、“and”等词被降为0,代表重要性很小;而“scary”、“long”、“good”等词则更为重要,因而具有更高的权值。

我们现在可以计算语料库中每个单词的TF-IDF分数。分数越高的单词越重要,分数越低的单词越不重要:

机器学习中词袋模型和TF-IDF怎么理解

现在,我们可以计算点评2中每个单词的TF-IDF分数:

TF-IDF(‘this’, Review 2) = TF(‘this’, Review 2) * IDF(‘this’) = 1/8 * 0 = 0

同样地

  • TF-IDF(‘movie’, Review 2) = 1/8 * 0 = 0

  • TF-IDF(‘is’, Review 2) = 1/4 * 0 = 0

  • TF-IDF(‘not’, Review 2) = 1/8 * 0.48 = 0.06

  • TF-IDF(‘scary’, Review 2) = 1/8 * 0.18 = 0.023

  • TF-IDF(‘and’, Review 2) = 1/8 * 0 = 0

  • TF-IDF(‘slow’, Review 2) = 1/8 * 0.48 = 0.06

同样地,我们可以计算出对于所有评论的所有单词的TF-IDF分数:

机器学习中词袋模型和TF-IDF怎么理解

我们现在已经获得了我们词汇的TF-IDF分数。TF-IDF还为频率较低的单词提供较大的值,并且当IDF和TF值都较高时,该值较高。TF-IDF分值高代表该单词在所有文档中都很少见,但在单个文档中很常见。

到此,相信大家对“机器学习中词袋模型和TF-IDF怎么理解”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 机器学习中词袋模型和TF-IDF怎么理解

本文链接: https://www.lsjlt.com/news/295860.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 机器学习中词袋模型和TF-IDF怎么理解
    本篇内容主要讲解“机器学习中词袋模型和TF-IDF怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“机器学习中词袋模型和TF-IDF怎么理解”吧!示例我将用一个流行的例子来解释本文中的Bag...
    99+
    2023-06-19
  • Python机器学习NLP自然语言处理基本操作词袋模型
    概述 从今天开始我们将开启一段自然语言处理 (NLP) 的旅程. 自然语言处理可以让来处理, 理解, 以及运用人类的语言, 实现机器语言和人类语言之间的沟通桥梁. 词袋模型 词袋模...
    99+
    2024-04-02
  • AI怎么训练机器学习的模型
    这篇文章将为大家详细讲解有关AI怎么训练机器学习的模型,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.Training: 如何训练模型一句话理解机器学习一般训练过程 :通过有标签样本来调整(学习)并确定...
    99+
    2023-06-14
  • 机器学习模型解释工具SHAP怎么使用
    SHAP(SHapley Additive exPlanations)是一种机器学习模型解释工具,它可以解释模型的预测结果,帮助理解...
    99+
    2023-10-21
    机器学习 SHAP
  • Python机器学习NLP自然语言处理基本操作词向量模型
    目录概述词向量词向量维度Word2VecCBOW 模型Skip-Gram 模型负采样模型词向量的训练过程1. 初始化词向量矩阵2. 神经网络反向传播词向量模型实战训练模型使用模型概述...
    99+
    2024-04-02
  • Python中怎么创建线性回归机器学习模型
    Python中怎么创建线性回归机器学习模型,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。线性回归机器学习模型1.要使用的数据集由于线性回归是我们在本文中学习的第一个机器学习模型...
    99+
    2023-06-16
  • python解释模型库Shap怎么实现机器学习模型输出可视化
    本篇内容主要讲解“python解释模型库Shap怎么实现机器学习模型输出可视化”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python解释模型库Shap怎么实现机器学习模型输出可视化”吧!安装...
    99+
    2023-06-25
  • PHP中如何进行机器学习模型开发和调优?
    随着数据量的不断增长和应用场景的不断拓展,机器学习已经成为了计算机科学中不可或缺的一部分。在PHP中,使用机器学习算法进行模型开发和调优同样也成为了一个热门话题。本文将从以下角度介绍在PHP中进行机器学习模型开发和调优的方法和技巧。一、选择...
    99+
    2023-05-21
    PHP编程语言 机器学习模型开发 模型调优
  • 机器学习多项式拟合模型怎么应用
    机器学习的多项式拟合模型可以应用于回归问题中,其中输入数据和目标值之间存在非线性关系。多项式拟合模型可以通过拟合一个多项式函数来逼近...
    99+
    2023-09-25
    机器学习
  • 使用Java中的TensorFlow来构建和训练机器学习模型
    如果您觉得本博客的内容对您有所帮助或启发,请关注我的博客,以便第一时间获取最新技术文章和教程。同时,也欢迎您在评论区留言,分享想法和建议。谢谢支持! 一、引言 1.1 TensorFlow简介 TensorFlow是由Google B...
    99+
    2023-09-28
    机器学习 java tensorflow
  • C++技术中的机器学习:使用C++构建机器学习模型的步骤是什么?
    c++++ 是构建机器学习模型的理想选择。构建模型的步骤包括:数据收集和预处理、模型选择、模型训练、模型评估和模型部署。实战案例演示了使用 mlpack 库构建线性回归模型的过程,包括数...
    99+
    2024-05-12
    机器学习 c++
  • 怎么使用R语言进行机器学习模型训练和评估
    在R语言中,可以使用各种机器学习库和包来进行模型训练和评估。以下是一个简单的步骤来使用R语言进行机器学习模型训练和评估的示例: 准...
    99+
    2024-03-04
    R语言
  • 如何在C++中构建机器学习模型并处理大规模数据?
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-16
  • Gradio机器学习模型快速部署工具怎么应用
    这篇文章主要介绍了Gradio机器学习模型快速部署工具怎么应用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Gradio机器学习模型快速部署工具怎么应用文章都会有所收获,下面我们一起来看看吧。1.嵌入 IFra...
    99+
    2023-07-05
  • python怎么使用Evidently创建机器学习模型仪表板
    这篇文章主要讲解了“python怎么使用Evidently创建机器学习模型仪表板”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python怎么使用Evidently创建机器学习模型仪表板”吧...
    99+
    2023-06-25
  • Python机器学习pytorch模型选择及欠拟合和过拟合详解
    目录训练误差和泛化误差模型复杂性模型选择验证集K折交叉验证欠拟合还是过拟合?模型复杂性数据集大小训练误差和泛化误差 训练误差是指,我们的模型在训练数据集上计算得到的误差。 泛化误差是...
    99+
    2024-04-02
  • Oracle中如何实现大数据分析和机器学习模型集成
    在Oracle中实现大数据分析和机器学习模型集成可以通过以下步骤实现: 使用Oracle Data Mining(ODM):OD...
    99+
    2024-04-09
    Oracle 大数据 机器学习
  • Gradio机器学习模型快速部署工具quickstart怎么使用
    本文小编为大家详细介绍“Gradio机器学习模型快速部署工具quickstart怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Gradio机器学习模型快速部署工具quickstart怎么使用”文章能帮助大家解决疑惑,下面跟着小编的...
    99+
    2023-07-05
  • python机器学习朴素贝叶斯算法及模型的选择和调优详解
    目录一、概率知识基础1.概率2.联合概率3.条件概率二、朴素贝叶斯1.朴素贝叶斯计算方式2.拉普拉斯平滑3.朴素贝叶斯API三、朴素贝叶斯算法案例1.案例概述2.数据获取3.数据处理...
    99+
    2024-04-02
  • Mahout怎么处理大规模数据集的机器学习任务
    Mahout是一个开源的分布式机器学习库,可以用来处理大规模数据集的机器学习任务。它使用Apache Hadoop作为底层框架,可以...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作