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

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

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

|--------------------|------------------------------------------------------------------------------------|
| 第一关:机器学习概念和流程 | 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

|-----------------|-----------------|
| CountVectorizer | TfidfVectorizer |

二.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

·返回值:单词列表

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

python 复制代码
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,自己肯定知道。

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

三.提问时刻

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

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

四.感谢观看

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

相关推荐
独小乐1 分钟前
018.使用I2C总线EEPROM|千篇笔记实现嵌入式全栈/裸机篇
linux·笔记·单片机·嵌入式硬件·arm·信息与通信
惠惠软件4 分钟前
豆包 AI 学习投喂与排名优化指南
人工智能·学习·语音识别
FluxMelodySun9 分钟前
机器学习(三十三) 概率图模型与隐马尔可夫模型
人工智能·机器学习
深兰科技13 分钟前
深兰科技与淡水河谷合作推进:矿区示范加速落地
java·人工智能·python·c#·scala·symfony·深兰科技
V搜xhliang024617 分钟前
OpenClaw、AI大模型赋能数据分析与学术科研 学习
人工智能·深度学习·学习·机器学习·数据挖掘·数据分析
weixin_5860614621 分钟前
JavaScript中Redux-Thunk处理异步Action的任务流
jvm·数据库·python
2401_8971905543 分钟前
Golang怎么写TODO待办应用_Golang TODO应用教程【深入】
jvm·数据库·python
m0_678485451 小时前
CSS实现浮动图标与文本居中对齐_配合浮动与flex
jvm·数据库·python
YuanDaima20481 小时前
二分查找基础原理与题目说明
开发语言·数据结构·人工智能·笔记·python·算法
里昆1 小时前
【电力电子】某模拟量采集器的上位机设置和遇到的问题解决
学习