机器学习(第六关--文本特征抽取)

news2024/11/14 21:37:31

以下内容,皆为原创,制作实属不易,感谢大家的观看和关注。

在此真诚的祝愿大家,生活顺顺利利,身体健健康康,前途似锦。

第一关:机器学习概念和流程http://t.csdnimg.cn/IuHh4
第二关:数据集的使用http://t.csdnimg.cn/1AD9D
第三关:特征工程-字典特征提取http://t.csdnimg.cn/tSES1
第四关:特征工程-文本特征提取http://t.csdnimg.cn/HSGhz
第五关:特征工程--中文文本特征提取http://t.csdnimg.cn/iN7e6

 

一. 关键词的作用

关键词:在某个类别的文章中,出现的次数很多,但是在别的类型文章中就少。

关键词的作用:这样我们就可以判断文章是什么类型的了,比如说一个文章里面提到的大多是“共享”、“车”,所以大概率是说共享单车或者共享汽车的,属于科技类文章

       显而易见,左边是科技类文章,右边是生活健康类文章。

        那么文本特征提取有两个方法,我们这个章节学习第二个TfidfVectorizer

CountVectorizerTfidfVectorizer

二.Tf-idf文本特征提取 


        1.TF-IDF的主要思想

        如果某个词或短语在一篇文章中出现的概率高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类
TF-IDF作用:用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度


          2.公式

         词频(termfrequency,tf)指的是某一个给定的词语在该文件中出现的频率。  逆向文档频率(inversedocumentfrequency,idf)是一个词语普遍重要性的度量。某一特定词语的idf,可以由总文件数目除以包含该词语之文件的数目,再将得到的取以10为底的对数得到。

      3.代码API

sklearn.feature_extraction.text.TfidfVectorizer(stop_words=None,...)返回词的权重矩阵


TfidfVectorizer.fit_transform(X)
·X:文本或者包含文本字符串的可迭代对象(列表或者字符串等)
·返回值:返回sparse矩阵


TfidfVectorizerinverse_transform(X)
·X:array数组或者sparse矩阵
返回值:转换之前数据格式


TfidfVectorizer.get_feature_names0
·返回值:单词列表

        好吧,这个可能你们看着有点懵,我们还是以实际代码为例。

from sklearn.feature_extraction.text import TfidfVectorizer
import jieba

# 原始文本数据
data = ["真正的勇气是一种精神的力量,人格的力量,智慧的力量。",
        "拥有了这种力量,我们就能独自越过困难堆成的高山;",
        "拥有这种力量,我们就能克服生活的磨难;拥有了这种力量,我们就能成为命运的主宰,始终扬起胜利的风帆。"]

# 使用CountVectorizer,设置分析器为jieba分词
vectorizer = TfidfVectorizer(analyzer='word', tokenizer=jieba.cut)

# 计算词频矩阵
X = vectorizer.fit_transform(data)

# 输出词频矩阵
print("词频矩阵:\n", X.toarray())

# 输出特征名称
print("特征名称:\n", vectorizer.get_feature_names_out())

 

 4.总结

        我们可以看到,这里面的关键词,可以判断是一个励志语句类型的。事实确实也是如此,因为我们自己传进去的data,自己肯定知道。

        你看到词频矩阵了吗?那里面的值,越大的就越能体现重要性和分类意义。

三.提问时刻

                那我们特征提取的意义在哪里呢?

        我们将不是数值的数据 转为 数值,进行特征值化,可以更好的了解和处理每个数据的特征。就像我们上面一样。知道了哪些词是特征,哪些词是出现次数比较多的,然后还是比较重要的。

四.感谢观看 

  感谢大家的观看,祝愿大家的生活顺顺利利,生活不止工作,陪陪自己的家人。大家拜拜~ 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2070956.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【功能实现】Vue3中导航栏效果实现

功能需求: 点击导航后会跳转到相应的页面当页面在顶部时,导航栏模块背景是透明的当页面向下滚动超过150px时,导航栏背景为白色 效果实现: 1.准备列表 将导航栏区域的类名设置为动态,即通过判断isTransparent是否存在…

浅谈【数据结构】链表之其他形态

目录 1、带头结点的链表 2、创建步骤 3、循环链表 3.1创建循环链表 3.2循环链表的遍历 3.3链表中的闭环 4、静态链表 4.1静态链表初始化 谢谢帅气美丽且优秀的你看完我的文章还要点赞、收藏加关注 没错,说的就是你,不用再怀疑!&#…

在群晖上安装Git客户端

什么是 Git ? Git 是一个分布式版本控制系统,提供了命令行界面(CLI)以及图形用户界面(GUI)两种方式进行操作。与 CVS、Subversion 一类的集中式版本控制工具不同,它采用了分布式版本库的作法&am…

LinkedList添加和删除方法的源码分析超详细

我们基于下面这段代码进行分析 进入add方法后调用的是linkLast方法 这是add方法真正的底层逻辑,首先将last值赋给l节点,此时的l为null,然后再创建新节点的时候将l作为前向指针传入,将节点中的next指针也赋值为null,之后…

PHP反序列化二

1.反序列化基础利用 2.pop链 POP链: POP(面向属性编程)链是指从现有运行环境中寻找一系列的代码或指令调用,然后根据需求构造出一组连续的调用链。 反序列化利用就是要找到合适的POP链。其实就是构造一条符合原代码需求的链条,去找到可以控…

基于YOLOv8的无人机高空红外(HIT-UAV)检测算法,新的混合型扩张型残差注意力(HDRAB)助力涨点(二)

💡💡💡本文内容:针对基于YOLOv8的无人机高空红外(HIT-UAV)检测算法进行性能提升,加入各个创新点做验证性试验。 💡💡💡一种新的混合型扩张型残差注意力(HDRAB…

Springboot基础------控制器、过滤器、拦截器、监视器

控制器 控制器用于接收和响应用户发送的请求,一个控制器类需要被Controller注解:(即controller层) Controller class TestController { }注: RestController实际上是Controller和ResponseBody的简化版,被…

数据仓库系列 3:数据仓库的主要组成部分有哪些?

你是否曾经好奇过,当你在网上购物或使用手机应用时,背后的数据是如何被存储和分析的?答案就在数据仓库中。本文将为你揭开数据仓库的神秘面纱,深入探讨其核心组成部分,以及这些组件如何协同工作,将海量数据转化为有价值的商业洞察。 目录 引言:数据仓库的魔力1. 数据源和数据…

STM32 | STM32 FLASH第十二天(实现代码STM32CUBEMX)

点击上方"蓝字"关注我们 01、FLASH >>> 1、STM32 FLASH Flash内部存储器,内存器件的一种,是一种非易失性( Non-Volatile )内存。 flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元…

mac 虚拟机PD19运行E-prime实验遇到E-prime unable to set display mode:0*80004001问题解决

作者:50% unable to set display mode问题 总结: 1. 修改该Experiment的Devices中的Dispaly为640*680,或800*600。 2. 右键开始菜单中的E-Studio程序,打开文件所在位置,然后右键该文件,选择属性-兼容性,勾选…

【内网渗透】ICMP隧道技术,ICMP封装穿透防火墙上线MSF/CS

~ 会当凌绝顶,一览众山小 ~ 前言 博客主页:h0ack1r丶羽~ 从0到1~ 渗透测试中,如果攻击者使用各类上层隧道(例如:HTTP隧道、DNS隧道、常规正/反向端口转发等)进行的操作都失败了,常常会通过ping命令访问远程计算机&am…

医疗多模态大模型是什么?医学多模态模型总结:算法其实很简单,拼的就是硬件算力的问题!多模态大模型(医疗影像分析)

概念 医学多模态大模型是指利用多种不同的医学数据源和模型,通过深度学习和人工智能技术,构建一个综合性的大型模型,以实现更加准确和全面的医学数据分析和预测。 这种模型可以同时处理多种医学数据类型,如医学图像、病历文本、…

自动驾驶---各大车企的端到端之旅

1 背景 端到端技术的落地速度确实有些超出预料,随着以ChatGPT为代表的AI大模型的快速发展,使得自动驾驶系统也能够像人一样进行“思考”,推动了自动驾驶技术的迭代升级。 特斯拉端到端技术的落地,自动驾驶在这一技术上的变化使得自…

<C++> 二叉搜索树

目录 二叉搜索树 1. 概念 2. 二叉搜索树操作 2.1 基础结构 2.2 非递归版 1. 查找 2. 插入 3. 删除 2.3 递归版 1. 查找 2. 插入 3. 删除 2.4 拷贝构造函数 2.5 赋值运算符重载 2.6 析构函数 2.7 完整代码 3. 二叉搜索树的应用 4. 二叉搜索树的性能 二叉搜索树 1. 概念 二叉搜索…

机器学习算法那些事 | 这是我见过最通俗易懂的SVD(奇异值分解)算法介绍

本文来源公众号“机器学习算法那些事”,仅用于学术分享,侵权删,干货满满。 原文链接:这是我见过最通俗易懂的SVD(奇异值分解)算法介绍 线性代数是机器学习领域的基础,其中一个最重要的概念是奇…

手机号归属地查询如何用Java进行调用

一、什么是手机号归属地查询接口? 手机号归属地查询接口又叫手机号归属地、手机号信息查询、手机号查询,通过手机号查询归属地信息、是否虚拟运营商等。该接口可支持三大运营商,移动、电信、联通等。 二、手机号归属地查询接口适用场景有哪…

OpenCV+Python识别机读卡

背景介绍 正常机读卡是通过读卡机读取识别结果的,目前OpenCV已经这么强大了,尝试着用OpenCVPython来识别机读卡。要识别的机读卡长这样: 我们做以下操作: 1.识别答题卡中每题选中项结果。 不做以下操作: 1.不识别准…

【数据分析:RFM客户价值度模型】

前言: 💞💞大家好,我是书生♡,本阶段和大家一起分享和探索大数据技术RFM客户价值度模型,本篇文章主要讲述了:RFM客户价值度模型等等。欢迎大家一起探索讨论!!&#xff01…

大数据-99 Spark 集群 Spark Streaming DStream 文件数据流、Socket、RDD队列流

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

GATK ReadsPathDataSource类介绍

GATK(Genome Analysis Toolkit)是一个广泛使用的基因组分析工具包,它的核心库之一是htsjdk,用于处理高通量测序数据。在GATK中,ReadsPathDataSource类是负责管理和提供读取高通量测序数据文件(如BAM、SAM、CRAM)的类。 常见使用场景 数据加载:在GATK的基因组分析工具链…