IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> TF-IDF与TfidfVectorizer -> 正文阅读

[人工智能]TF-IDF与TfidfVectorizer

1 TF

Term Frequency :衡量一个单词在一个文档中出现的频率,即==该单词在一个文档中出现的次数/该文档中总共的单词数。

在这里插入图片描述

2 IDF
Inverse Document Frequency:当一个单词在跨文档中出现多次时,该参数用来降低其作用。 一个单词出现在很少的文档中时,该单词有较高的IDF分。反之,如果一个单词在各文档中出现频繁,该单词就有低的IDF分,如英语单词‘a’、‘is’。

IDF==文档的总数量/该单词出现的文档数量。

在这里插入图片描述

3 TF-IDF

TF-IDF倾向于过滤掉常见的词语,保留重要的词语。TF-IDF分数越高,表示单词在一个文档中出现频繁(TF高),但在跨多文档中出现不是很频繁(IDF高)。
在这里插入图片描述

4 CountVectorizer

CountVectorizer 类会将文本中的词语转换为词频矩阵TF。也就是通过分词后将所有的文档中的全部词作为一个字典(就是类似于新华字典这种)。然后将每一行的词用0,1矩阵来表示。并且每一行的长度相同,长度为字典的长度,在词典中存在,置为1,否则,为0。

from sklearn.feature_extraction.text import CountVectorizer

vectorizer = CountVectorizer(min_df=1)

corpus = [ ‘This is the first document.’,
‘This is the second second document.’,
‘And the third one.’,
‘Is this the first document?’,
]
X = vectorizer.fit_transform(corpus)
feature_name = vectorizer.get_feature_names()

print (X)
print (feature_name)
print (X.toarray())

5 TfidfVectorizer

在TfidfVectorizer中通过fit_transform或fit来实现,词汇表建立,以及词汇表中词项的idf值计算,当然fit_transform更进一步将输入的训练集转换成了VSM矩阵形式。TfidfVectorizer的transform函数用于对测试文本进行向量化表示。表示的过程中用到训练得到的词汇表以及词项的idf值,而tf值由测试文本自身决定,因此一篇和多篇对于单篇文本向量表示没有影响。

from sklearn.feature_extraction.text import TfidfVectorizer
tfidf = TfidfVectorizer(sublinear_tf=True, min_df=0.05,
ngram_range=(1, 2),
stop_words=‘english’,max_features=10)#

fitted_vectorizer = tfidf.fit(train_data_tfidf[‘msgs’])
tfidf_vectorizer_vectors = fitted_vectorizer.transform(train_data_tfidf[‘msgs’]).toarray()

5.1 参数:

  1. input:string{‘filename’, ‘file’, ‘content’}

i. 如果是’filename’,序列作为参数传递给拟合器,预计为文件名列表,这需要读取原始内容进行分析

ii. 如果是’file’,序列项目必须有一个”read“的方法(类似文件的对象),被调用作为获取内存中的字节数

iii. 否则,输入预计为序列串,或字节数据项都预计可直接进行分析。

  1. encoding:string, ‘utf-8’by default

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

  1. decode_error: {‘strict’, ‘ignore’, ‘replace’}

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

  1. strip_accents: {‘ascii’, ‘unicode’, None}

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

  1. analyzer:string,{‘word’, ‘char’} or callable

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

  1. preprocessor:callable or None(default)

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

  1. tokenizer:callable or None(default)

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

  1. ngram_range: tuple(min_n, max_n)

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

  1. stop_words:string {‘english’}, list, or None(default)

i. 如果未english,用于英语内建的停用词列表

ii. 如果未list,该列表被假定为包含停用词,列表中的所有词都将从令牌中删除

iii. 如果None,不使用停用词。max_df可以被设置为范围[0.7, 1.0)的值,基于内部预料词频来自动检测和过滤停用词

  1. lowercase:boolean, default True

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

  1. token_pattern:string

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

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

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

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

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

  1. max_features: optional, None by default

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

  1. vocabulary:Mapping or iterable, optional

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

  1. binary:boolean, False by default

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

  1. dtype:type, optional

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

  1. norm:‘l1’, ‘l2’, or None,optional

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

  1. use_idf:boolean, optional

i. 启动inverse-document-frequency重新计算权重

  1. smooth_idf:boolean,optional

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

  1. sublinear_tf:boolean, optional

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

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:31:02  更:2022-03-10 22:32:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 17:48:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码