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

python学智能算法(十五)|机器学习朴素贝叶斯方法进阶-CountVectorizer多文本处理

【1】引言

前序学习进程中,已经学习CountVectorizer文本处理的简单技巧,先相关文章链接为:

python学智能算法(十四)|机器学习朴素贝叶斯方法进阶-CountVectorizer文本处理简单测试-CSDN博客

此次继续深入,研究多文本的综合处理。

【2】代码测试

首先相对于单文本测试,直接将文本改成多行文本:

# 引入必要的模块
from sklearn.feature_extraction.text import CountVectorizer# 单个文档
document = ["Python programming is fun and useful for data science.","Python is a great programming language for data science.","Data science uses Python for machine learning and AI.","AI and machine learning are fun with Python.","AI is popular at this time."]# 创建向量化器
vectorizer = CountVectorizer()
print('vetorizer=', vectorizer)
# 拟合并转换文档
X = vectorizer.fit_transform(document)
print('X=', X)
# 查看词汇表
print("词汇表:\n", vectorizer.get_feature_names_out())# 查看向量表示
print("向量表示:\n", X.toarray())

 尝试运行一下:

X=   (0, 14)    1
  (0, 13)    1
  (0, 8)    1
  (0, 6)    1
  (0, 1)    1
  (0, 18)    1
  (0, 5)    1
  (0, 4)    1
  (0, 15)    1
  (1, 14)    1
  (1, 13)    1
  (1, 8)    1
  (1, 5)    1
  (1, 4)    1
  (1, 15)    1
  (1, 7)    1
  (1, 9)    1
  (2, 14)    1
  (2, 1)    1
  (2, 5)    1
  (2, 4)    1
  (2, 15)    1
  (2, 19)    1
  (2, 11)    1
  (2, 10)    1
  (2, 0)    1
  (3, 14)    1
  (3, 6)    1
  (3, 1)    1
  (3, 11)    1
  (3, 10)    1
  (3, 0)    1
  (3, 2)    1
  (3, 20)    1
  (4, 8)    1
  (4, 0)    1
  (4, 12)    1
  (4, 3)    1
  (4, 16)    1
  (4, 17)    1
词汇表:
 ['ai' 'and' 'are' 'at' 'data' 'for' 'fun' 'great' 'is' 'language'
 'learning' 'machine' 'popular' 'programming' 'python' 'science' 'this'
 'time' 'useful' 'uses' 'with']
向量表示:
 [[0 1 0 0 1 1 1 0 1 0 0 0 0 1 1 1 0 0 1 0 0]
 [0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0]
 [1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0]
 [1 1 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 1]
 [1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 0]] 

最开始的X出现“(0,14),1”解读:

0表示(Python programming is fun and useful for data science.)是第0行样本,实际上从1开始计数是第1行样本;

14表示样本中的第一个词,也就是Python,在按照所有文本中所有单词首字母顺序排列后,将位于第14号位置,实际上从1开始计数是第15个,后面的1表示Python这个词在第0行样本中出现了一次。

其余数据意义类似。

输出的词汇表是将所有文本中所有单词首字母顺序排列后获得的结果。

向量表示则按照行的形式,将每一行的列数都扩充或者说是广播到所有文本中所有单词合并同类项后的数量,所有单词合并同类项后刚好是17个数据,所以每一行都有17个数据,在对应行样本中未出现的词就会自动计数0。

【3】总结

使用CountVectorizer开展了多文简单测试。

http://www.lqws.cn/news/466723.html

相关文章:

  • 一、什么是生成式人工智能
  • 深入Java面试:从Spring Boot到微服务
  • Taro 状态管理全面指南:从本地状态到全局方案
  • 中文文本相似度分析指标:BERTScore
  • 获取目录下所有的文件生成sha值
  • Vue.js 粒子连线动画组件 - FlyingLines
  • 基于物联网的智能饮水机系统设计
  • SpringIOC
  • 集群聊天项目服务器----JSON库
  • 文生视频(Text-to-Video)
  • mysql导入大sql(比如10GB的sql文件)
  • gRPC 框架面试题精选及参考答案
  • 《HTTP权威指南》 第4章 连接管理
  • RA4M2开发涂鸦模块CBU(3)----定时器GPT-PWM调光
  • 18年磨一剑!开利科技启动数字化增量投资新时代
  • 探索 Vue 替代方案
  • Linux文件元信息完全指南:权限、链接与时间属性
  • jar is missing
  • ubuntu22.04下ch341驱动问题
  • Web攻防-XSS跨站Cookie盗取数据包提交网络钓鱼BEEF项目XSS平台危害利用
  • 广州华锐互动:以技术创新引领虚拟现实体验新高度
  • 私有规则库:企业合规与安全的终极防线
  • Go 语言 GMP 调度模型解析
  • 从流量为王到留量为王:开源链动2+1模式、AI智能名片与S2B2C商城小程序的协同创新路径
  • 推客小程序系统开发全攻略:构建社交电商新生态
  • 亚马逊认证考试系列 - 第一部份:基础服务 - AWS SAA C03
  • Maven-添加子模块
  • SylixOS 下的消息队列
  • SQLite 数据库操作完整指南
  • 逆向入门(14、15)程序逆向篇-Brad Soblesky.1-fty_crkme3