Python中的TfidfVectorizer参数使用解析

 更新时间:2023年11月28日 15:32:32   作者:小白的进阶  
这篇文章主要介绍了Python中的TfidfVectorizer参数使用解析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

TfidfVectorizer参数解析

vectorizer = CountVectorizer() #构建一个计算词频(TF)的玩意儿,当然这里面不足是可以做这些

transformer = TfidfTransformer() #构建一个计算TF-IDF的玩意儿

tfidf = transformer.fit_transform(vectorizer.fit_transform(corpus))

#vectorizer.fit_transform(corpus)将文本corpus输入,得到词频矩阵

#将这个矩阵作为输入,用transformer.fit_transform(词频矩阵)得到TF-IDF权重矩阵

TfidfTransformer + CountVectorizer=TfidfVectorizer

值得注意的是

CountVectorizer()和TfidfVectorizer()里面都有一个成员叫做vocabulary_(后面带一个下划线)

这个成员的意义是词典索引,对应的是TF-IDF权重矩阵的列,只不过一个是私有成员,一个是外部输入,原则上应该保持一致。

vectorizer = TfidfVectorizer(stop_words=stpwrdlst, sublinear_tf = True, max_df = 0.5)

关于参数

input:string{'filename', 'file', 'content'}

  • 如果是'filename',序列作为参数传递给拟合器,预计为文件名列表,这需要读取原始内容进行分析
  • 如果是'file',序列项目必须有一个”read“的方法(类似文件的对象),被调用作为获取内存中的字节数
  • 否则,输入预计为序列串,或字节数据项都预计可直接进行分析。

encoding:string, ‘utf-8’by default

  • 如果给出要解析的字节或文件
  • 此编码将用于解码

decode_error:{'strict', 'ignore', 'replace'}

  • 如果一个给出的字节序列包含的字符不是给定的编码,指示应该如何去做。
  • 默认情况下,它是'strict',这意味着的UnicodeDecodeError将提高,其他值是'ignore'和'replace'

strip_accents: {'ascii', 'unicode', None}

  • 在预处理步骤中去除编码规则(accents),”ASCII码“是一种快速的方法,仅适用于有一个直接的ASCII字符映射
  • "unicode"是一个稍慢一些的方法,None(默认)什么都不做

analyzer:string,{'word', 'char'} or callable

  • 定义特征为词(word)或n-gram字符
  • 如果传递给它的调用被用于抽取未处理输入源文件的特征序列

preprocessor:callable or None(default)

  • 当保留令牌和”n-gram“生成步骤时
  • 覆盖预处理(字符串变换)的阶段

tokenizer:callable or None(default)

  • 当保留预处理和n-gram生成步骤时
  • 覆盖字符串令牌步骤

ngram_range: tuple(min_n, max_n)

  • 要提取的n-gram的n-values的下限和上限范围
  • 在min_n <= n <= max_n区间的n的全部值

stop_words:string {'english'}, list, or None(default)

  • 如果未english,用于英语内建的停用词列表
  • 如果未list,该列表被假定为包含停用词,列表中的所有词都将从令牌中删除
  • 如果None,不使用停用词。max_df可以被设置为范围[0.7, 1.0)的值,基于内部预料词频来自动检测和过滤停用词

lowercase:boolean, default True

  • 在令牌标记前转换所有的字符为小写

token_pattern:string

  • 正则表达式显示了”token“的构成,仅当analyzer == ‘word’时才被使用。
  • 两个或多个字母数字字符的正则表达式(标点符号完全被忽略,始终被视为一个标记分隔符)。

max_df: float in range [0.0, 1.0] or int, optional, 1.0 by default

  • 当构建词汇表时,严格忽略高于给出阈值的文档频率的词条,语料指定的停用词。
  • 如果是浮点值,该参数代表文档的比例,整型绝对计数值,如果词汇表不为None,此参数被忽略。

min_df:float in range [0.0, 1.0] or int, optional, 1.0 by default

  • 当构建词汇表时,严格忽略低于给出阈值的文档频率的词条,语料指定的停用词。
  • 如果是浮点值,该参数代表文档的比例,整型绝对计数值,如果词汇表不为None,此参数被忽略。

max_features: optional, None by default

  • 如果不为None,构建一个词汇表
  • 仅考虑max_features--按语料词频排序,如果词汇表不为None,这个参数被忽略

vocabulary:Mapping or iterable, optional

  • 也是一个映射(Map)(例如,字典),其中键是词条而值是在特征矩阵中索引,或词条中的迭代器。
  • 如果没有给出,词汇表被确定来自输入文件。
  • 在映射中索引不能有重复,并且不能在0到最大索引值之间有间断。

binary:boolean, False by default

  • 如果未True,所有非零计数被设置为1
  • 这对于离散概率模型是有用的,建立二元事件模型,而不是整型计数

dtype:type, optional

  • 通过fit_transform()或transform()返回矩阵的类型

norm:'l1', 'l2', or None,optional

  • 范数用于标准化词条向量。
  • None为不归一化

use_idf:boolean, optional

  • 启动inverse-document-frequency重新计算权重

smooth_idf:boolean,optional

  • 通过加1到文档频率平滑idf权重
  • 为防止除零,加入一个额外的文档

sublinear_tf:boolean, optional

  • 应用线性缩放TF
  • 例如,使用1+log(tf)覆盖tf

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python开发入门之如何制作一个简单的桌面应用

    Python开发入门之如何制作一个简单的桌面应用

    这篇文章主要给大家介绍了关于Python开发入门之如何制作一个简单的桌面应用的相关资料,我们不仅可以使用Python的图像处理库,如PIL等来实现图片的处理和识别,同时你还可以设计和开发具有图形界面的桌面应用程序,需要的朋友可以参考下
    2023-08-08
  • python去除所有html标签的方法

    python去除所有html标签的方法

    这篇文章主要介绍了python去除所有html标签的方法,涉及Python正则替换的相关技巧,非常简单实用,需要的朋友可以参考下
    2015-05-05
  • Flask框架的学习指南之开发环境搭建

    Flask框架的学习指南之开发环境搭建

    本文是Flask框架的学习指南系列文章的第一篇,主要给大家讲述的是开发环境的搭建工作,有需要的小伙伴可以参考下
    2016-11-11
  • Python2手动安装更新pip过程实例解析

    Python2手动安装更新pip过程实例解析

    这篇文章主要介绍了Python2手动安装更新pip过程实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 表格梳理python内置数学模块math分析详解

    表格梳理python内置数学模块math分析详解

    这篇文章主要为大家介绍了python内置数学模块math的分析详解,文中通过表格梳理的方式以便让大家在学习过程中一目望去清晰明了,有需要的朋友可以借鉴参考下
    2021-10-10
  • Python JSON数据解析过程(最新推荐)

    Python JSON数据解析过程(最新推荐)

    json模块提供了将JSON格式的数据转换为Python对象(如列表、字典等)以及将Python对象转换为JSON格式的数据的方法,下面给大家分享使用json模块解析JSON数据的常见方法,感兴趣的朋友一起看看吧
    2024-02-02
  • Python图像处理库PIL详细使用说明

    Python图像处理库PIL详细使用说明

    Pillow是Python中较为基础的图像处理库,主要用于图像的基本处理,比如裁剪图像、调整图像大小和图像颜色处理等,需要的朋友可以参考下
    2022-04-04
  • Moviepy模块实现视频添加图片水印

    Moviepy模块实现视频添加图片水印

    本文主要介绍了Moviepy模块实现视频添加图片水印,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 10行Python代码实现Web自动化管控的示例代码

    10行Python代码实现Web自动化管控的示例代码

    这篇文章主要介绍了10行Python代码实现Web自动化管控的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • python利用跳板机ssh远程连接redis的方法

    python利用跳板机ssh远程连接redis的方法

    今天小编就为大家分享一篇python利用跳板机ssh远程连接redis的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02

最新评论