CountVectorizer()类解析
2024-09-12 14:16:09
主要可以参考下面几个链接:
4.sklearn.feature_extraction.text
.CountVectorizer
补充一下:CounterVectorizer()类的函数transfome()的用法
它主要是把新的文本转化为特征矩阵,只不过,这些特征是已经确定过的。而这个特征序列是前面的fit_transfome()输入的语料库确定的特征。见例子:
>>>from sklearn.feature_extraction.text import CountVectorizer
>>>vec=CountVectrizer()
>>>vec.transform(['Something completely new.']).toarray()
错误返回 ,sklearn.exceptions.NotFittedError: CountVectorizer - Vocabulary wasn't fitted.表示没有对应的词汇表,这个文本无法转换。其实就是没有建立vocabulary表,没法对文本按照矩阵索引来统计词的个位数
corpus = [
'This is the first document.',
'This is the second second document.',
'And the third one.',
'Is this the first document?']
X = vec.fit_transform(corpus)
X.toarray()
vocabulary列表
>>>vec.get_feature_names()
['and', 'document', 'first', 'is', 'one', 'second', 'the', 'third', 'this']
得到的稀疏矩阵是
array([[0, 1, 1, 1, 0, 0, 1, 0, 1],
[0, 1, 0, 1, 0, 2, 1, 0, 1],
[1, 0, 0, 0, 1, 0, 1, 1, 0],
[0, 1, 1, 1, 0, 0, 1, 0, 1]], dtype=int64)
建立vocabulary后可以用transform()来对新文本进行矩阵化了
>>>vec.transform(['this is']).toarray()
array([[0, 0, 0, 1, 0, 0, 0, 0, 1]], dtype=int64)
>>>vec.transform(['too bad']).toarray()
array([[0, 0, 0, 0, 0, 0, 0, 0, 0]], dtype=int64)
简单分析'this is'在vocabulary表里面,则对应词统计数量,形成矩阵。而'too bad'在vocabulary表中没有这两词,所以矩阵都为0.
最新文章
- JavaScript 解析 Django Python 生成的 datetime 数据 时区问题解决
- Struts.xml中Action的method与路径的三种匹配方法
- OPenCL
- java操作数据库出错
- android通话时第二通电话呼叫等待提示音音量大小
- Mac OS X 配置 Apache+Mysql+PHP 详细教程
- Sublime Text 3103 Crack 破解 注册码
- 导出Unity场景为配置文件
- [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传
- 极化码的matlab仿真(1)——参数设置
- Celery 源码解析五: 远程控制管理
- jdbc的入门学习
- [MapReduce_8] MapReduce 中的自定义分区实现
- 《高性能SQL调优精要与案例解析》——10.4_SQL语句改写部分文档
- Java日期时间使用总结[转载]
- xp_readerrorlog与sp_readerrorlog
- 命令行翻译 推荐一个linux系统中可用的终端小程序
- 源码安装mysql 5.7.19数据库
- js根据选中的复选框,隐藏那一行
- linux -- 终端执行可执行文件