《机器学习》——sklearn库中CountVectorizer方法(词频矩阵)
CountVectorizer方法介绍
- CountVectorizer 是 scikit-learn 库中的一个工具,它主要用于将文本数据转换为词频矩阵,而不是传统意义上的词向量转换,但可以作为词向量转换的一种基础形式。
- 用于将文本数据转换为词频矩阵,它是文本特征提取的重要方法之一。
用法
- 分词:将输入的文本分割成单词或 n-gram 序列。
- 构建词汇表:统计文本中出现的所有唯一的词,并为每个词分配一个唯一的索引。
- 生成词频矩阵:对于每一个输入的文本,根据词汇表统计每个词出现的次数,生成一个稀疏矩阵,矩阵的行表示文档,列表示词汇表中的词,元素表示该词在相应文档中的出现频率。
CountVectorizer

主要参数
- input=‘content’:输入数据的类型,可以是 ‘content’(字符串)、‘filename’ 或 ‘file’。
- encoding=‘utf-8’:文本的编码方式。
- decode_error=‘strict’:解码错误时的处理方式,如 ‘strict’、‘ignore’、‘replace’ 等。
- strip_accents=None:去除重音字符,可设置为 ‘ascii’ 或 unicode。
- lowercase=True:将所有字符转换为小写。
- preprocessor=None:预处理器,用于在分词前对文本进行处理。
- tokenizer=None:自定义分词器,默认为 None,使用 CountVectorizer 自带的分词器。
- stop_words=None:停用词列表,可以是 ‘english’ 或自定义的停用词列表。
- token_pattern=‘(?u)\b\w\w+\b’:用于分词的正则表达式模式。
- ngram_range=(1, 1):提取 n 元语法的范围,默认为一元语法。
- analyzer=‘word’:分析器,可以是 ‘word’(单词级)或 ‘char’(字符级)。
- max_df=1.0:词汇表中一个单词在文档中出现的最大频率,可设置为浮点数(比例)或整数(绝对次数)。
- min_df=1:词汇表中一个单词在文档中出现的最小频率,可设置为浮点数(比例)或整数(绝对次数)。
- max_features=None:词汇表的最大大小,限制词汇表中的单词数量。
CountVectorizer例子
from sklearn.feature_extraction.text import CountVectorizertexts = ["dog cat fish","dog cat cat","fish bird","bird"]
cont = []
# 实例化一个模型
cv = CountVectorizer(ngram_range=(1,3))
# 这里实例化了一个 CountVectorizer 对象 cv,ngram_range=(1,3) 表示要考虑的 n-gram 的范围是从 1 个词到 3 个词的组合。
# 例如,对于 "dog cat fish",会考虑 "dog"、"cat"、"fish"、"dog cat"、"cat fish" 和 "dog cat fish" 等。# 训练此模型
cv_fit = cv.fit_transform(texts)
# 使用 fit_transform 方法对输入的文本列表 texts 进行训练和转换。
# 它会先对文本进行分词处理,然后统计每个词(或 n-gram)在每个文本中出现的频率。print(cv.get_feature_names_out())
# 调用 get_feature_names_out 方法,将返回一个包含所有不同的词(或 n-gram)的数组。
# 这些词是在对输入的文本进行处理后得到的词汇表,会根据输入文本中出现的不同词汇以及 n-gram 组合形成。print(cv_fit)
# 打印 cv_fit,它是一个稀疏矩阵对象,存储了词频信息。由于文本数据通常是稀疏的(大部分元素为 0),
# 所以使用稀疏矩阵来存储可以节省空间和提高计算效率。# 打印出每个语句的词向量
print(cv_fit.toarray())
# 调用 toarray 方法将稀疏矩阵 cv_fit 转换为密集数组。
# 这样可以更直观地看到每个语句中各个词汇或 n-gram 的出现次数,行代表输入的不同文本,列代表词汇表中的词汇或 n-gram。# 打印出所有数据求和结果
print(cv_fit.toarray().sum(axis=0))
# 对 cv_fit.toarray() 得到的数组按列求和,即计算每个词汇或 n-gram 在所有文本中出现的总次数。
# axis=0 表示按列进行求和操作。
结果:
相关文章:
《机器学习》——sklearn库中CountVectorizer方法(词频矩阵)
CountVectorizer方法介绍 CountVectorizer 是 scikit-learn 库中的一个工具,它主要用于将文本数据转换为词频矩阵,而不是传统意义上的词向量转换,但可以作为词向量转换的一种基础形式。用于将文本数据转换为词频矩阵,它是文本特征…...
UML系列之Rational Rose笔记三:活动图(泳道图)
一、新建活动图(泳道图) 依旧在用例视图里面,新建一个activity diagram;新建好之后,就可以绘制活动图了: 正常每个活动需要一个开始,点击黑点,然后在图中某个位置安放,接…...
Java面向对象面经总结
目录 面向对象基础 面向对象与面向过程的区别 创建一个对象用什么运算符,对象实体与对象引用的区别 对象相等和引用相等的区别 构造方法的特点,是否可被重写? 面向对象三大特征 封装 继承 多态 接口和抽象类的共同点和区别 深拷贝…...
红队工具使用全解析:揭开网络安全神秘面纱一角
红队工具使用全解析:揭开网络安全神秘面纱一角 B站红队公益课:https://space.bilibili.com/350329294 学习网盘资源链接:https://pan.quark.cn/s/4079487939e8 嘿,各位网络安全爱好者们!在风云变幻的网络安全战场上&am…...
OpenLinkSaas 2025年第一季度开发计划
OpenLinkSaas在2025的发展方向是强化基础设施和研发协作,弱化管理相关的功能。 为了根据参与到软件研发的整个流程,OpenLinkSaas会增加一系列的基础设施项目,并和OpenLinksaas进行深度整合。 目前计划中的基础设施: 链路追踪系统(OpenDragonF…...
【python小工具】怎么获取视频的关键帧频率?
使用 FFmpeg 提取 MP4 视频的关键帧并计算关键帧频率可以按以下步骤进行: 提取关键帧: 使用 FFmpeg 提取视频中的关键帧可以通过以下命令实现: ffmpeg -i input.mp4 -vf "selecteq(pict_type,I)" -vsync vfr keyframes_%03d.jpg…...
数字孪生可视化在各个行业的应用场景
数字孪生技术,作为新一代信息技术的集大成者,正在深刻改变着我们对物理世界的认知和管理方式。本文将探讨数字孪生可视化在不同行业的应用场景,以及它们如何赋能行业数字化转型。 1. 智慧城市与交通 在智慧城市领域,数字孪生技术…...
Python实现windows自动关机
python <shut.py> import ntplib from datetime import datetime, timezoneimport time import osimport easygui# net time def get_network_time():time.sleep(3)"""从网络时间服务器获取时间"""client ntplib.NTPClient()response c…...
Go可以使用设计模式,但绝不是《设计模式》中的那样
文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons:JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram,自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 ? 5 IDEA必装的插件&…...
【C语言】_使用冒泡排序模拟实现qsort函数
目录 1. 排序函数的参数 2. 排序函数函数体 2.1 比较元素的表示 2.2 交换函数Swap的实现 2.3 排序函数bubble_sort的实现 3. 测试整型数据排序 3.1 整型数据比较函数cmp_int的实现 3.2 整型数据排序后输出函数print_int的实现 3.3 整型数据测试函数test_int的实现 3…...
openCvSharp 计算机视觉图片找茬
一、安装包 <PackageReference Include"OpenCvSharp4" Version"4.10.0.20241108" /> <PackageReference Include"OpenCvSharp4.runtime.win" Version"4.10.0.20241108" /> 二、准备两张图片 三、编写代码 using OpenCv…...
从零开始开发纯血鸿蒙应用之处理外部文件
从零开始开发纯血鸿蒙应用 一、外部文件二、外部文件的访问形式1、主动访问2、被动访问 三、代码实现1、DocumentViewPicker2、Ability Skills3、onNewWant 函数4、冷启动时处理外部文件 一、外部文件 对于移动端app来说,什么是外部文件呢?是那些存储在…...
Spring中三级缓存详细讲解
1、Spring三级缓存是什么,过程是怎么样的? Spring 中的三级缓存主要用于单例 Bean 的生命周期管理,特别是在循环依赖时,它通过不同阶段暴露 Bean 实例来确保依赖注入的顺利完成。缓存的内容如下: 一级缓存 (singleton…...
论文阅读:《Whole-animal connectomes of both Caenorhabditis elegans sexes》
一 论文整体概述 论文下载链接:《Whole-animal connectomes of both Caenorhabditis elegans sexes》 补充信息和额外数据:https://www.nature.com/articles/s41586-019-1352-7 1. 作者期刊背景 该论文由Scott W. Emmons,David H. Hall等…...
嵌入式开发之STM32学习笔记day03
STM32之ADC(模拟数字转换器) 1 ADC简述2 ADC转换时间3 ADC转化结果存放机制4 ADC转化结果存放机制5 ADC电压转换 1 ADC简述 ADC(Analog-Digital Converter)模拟—数字转换器;ADC可以将引脚上连续变化的模拟电压转换为…...
windows10 安装 Golang 版本控制工具g与使用
下载包:https://github.com/voidint/g/releases 解压, 并添加到环境变量 g 常用命令 查询当前可供安装的stable状态及所有的 go 版本 # stable 版本 g ls-remote stable# 所有版本 g ls-remote安装目标 go 版本1.23.4g install 1.23.4切换到已安装的…...
SpringBoot 使用 Cache 集成 Redis做缓存保姆教程
1. 项目背景 Spring Cache是Spring框架提供的一个缓存抽象层,它简化了缓存的使用和管理。Spring Cache默认使用服务器内存,并无法控制缓存时长,查找缓存中的数据比较麻烦。 因此Spring Cache支持将缓存数据集成到各种缓存中间件中。本文已常…...
R数据分析:多分类问题预测模型的ROC做法及解释
有同学做了个多分类的预测模型,结局有三个类别,做的模型包括多分类逻辑回归、随机森林和决策树,多分类逻辑回归是用ROC曲线并报告AUC作为模型评估的,后面两种模型报告了混淆矩阵,审稿人就提出要统一模型评估指标。那么肯定是统一成ROC了,刚好借这个机会给大家讲讲ROC在多…...
数据结构与算法之二叉树: LeetCode 654. 最大二叉树 (Ts版)
最大二叉树 https://leetcode.cn/problems/maximum-binary-tree/ 描述 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值递归地在最大值 左边 的 子数组前缀上 构建左子树递归地在最大值…...
Linux 容器漏洞
定义:Linux 容器漏洞是指在容器技术(如 Docker、LXC 等)运行环境中存在的安全弱点。这些漏洞可能存在于容器镜像本身、容器运行时(如 runc)、容器编排工具(如 Kubernetes)或者容器与主机之间的交…...
无人驾驶车辆轨迹跟踪MPC、LQR、PP算法对比仿真(带说明文档)
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…...
Keil MDK-ARM工程改名后编译报错?可能是这3个隐藏配置没改对
Keil MDK-ARM工程改名后编译报错?可能是这3个隐藏配置没改对 当你按照标准流程修改Keil工程名后,发现编译依然报错,这往往意味着某些隐藏配置仍在引用旧工程名。作为嵌入式开发者,我们需要像侦探一样排查这些"数字指纹"…...
曼哈顿距离在计算机图形学中的高效应用
1. 曼哈顿距离:计算机图形学的"捷径算法" 第一次听说曼哈顿距离时,我正被游戏开发中的路径查找问题困扰。当时需要计算数百个游戏单位到目标点的距离,使用传统的欧氏距离公式导致帧率直接掉到个位数。直到一位前辈提醒:…...
猫抓:网页资源获取工具的技术革新与实战应用
猫抓:网页资源获取工具的技术革新与实战应用 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 在数字化时代,我们每天浏览大量…...
长脉冲激光打孔技术及其与水平集算法的融合应用
长脉冲激光打孔,水平集算法工业级激光打孔就像用光做的"绣花针",在金属表面精准戳出微米级孔洞。但当我们把激光脉冲时间拉长到毫秒量级时,事情就变得有趣起来——材料不再是瞬间汽化,而是经历缓慢的熔融、流动、再凝固…...
3款自动化工具提升文档下载效率:智能识别与批量处理完整指南
3款自动化工具提升文档下载效率:智能识别与批量处理完整指南 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是…...
多模态实践:OpenClaw+千问3.5-27B分析截图中的图表数据
多模态实践:OpenClaw千问3.5-27B分析截图中的图表数据 1. 为什么需要自动化图表分析 作为一名数据分析师,我每天需要处理大量来自股票、销售报表的截图。传统做法是手动录入数据到Excel,既耗时又容易出错。直到我发现OpenClaw与千问3.5-27B…...
DirectX兼容性修复工具:让老游戏在现代Windows系统重获新生
DirectX兼容性修复工具:让老游戏在现代Windows系统重获新生 【免费下载链接】dxwrapper Fixes compatibility issues with older games running on Windows 10 by wrapping DirectX dlls. Also allows loading custom libraries with the file extension .asi into …...
ComfyUI-WanVideoWrapper:5个技巧快速上手14B参数AI视频生成插件
ComfyUI-WanVideoWrapper:5个技巧快速上手14B参数AI视频生成插件 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 在AI视频生成领域,ComfyUI-WanVideoWrapper作为一款强大…...
你的QQ空间记忆正在消失?GetQzonehistory帮你永久保存青春时光
你的QQ空间记忆正在消失?GetQzonehistory帮你永久保存青春时光 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾担心QQ空间里的珍贵回忆会随着时间流逝而消失&#x…...
