赞
踩
为了便于理解Tf-Idf权值计算和词袋的数据结构,我们先看一个例子程序:1. 导入训练集
2. 从文件导入停用词表,并转换为list
3. 创建词袋数据结构,并配置停用词表
4. 统计每个词语的tf-idf权值
代码:tf-idf_test.py
执行结果:
代码文件: tf-idf.py
执行结果:
Parameters:
|
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’, ‘char_wb’} or callable
定义特征为词(word)或n-gram字符。选项'char_wb“仅从词边界的文本中创建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, True by default
在令牌标记前转换所有的字符为小写.
token_pattern : string
正则表达式显示了“令牌”的构成, 仅当tokenize==‘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 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()返回矩阵的类型.
|
Attributes:
|
`vocabulary_` : dict
词条到特征索引的映射.
`stop_words_` : set
忽略出现在文件中过多(max_df)或过少(min_df)的词条。如果没有给出词汇表,这是唯一可用的。.
|
返回一个可调用的预处理和分词句柄
| |
返回一个函数在分词前预处理文本
| |
返回一个函数,分割一个字符串为连续的令牌
| |
decode(doc)
|
解码输入中的Unicode的符号串
|
fit(raw_documents[, y])
|
学习原始文档中的所有令牌词汇表.
|
fit_transform(raw_documents[, y])
|
学习词汇表并且返回文件词条矩阵(term-document matrix).
|
一个数组映自特征整形索引到特征名称.
| |
get_params([deep])
|
获取预测器的参数.
|
构建和抽取停止词表
| |
返回文档中的词条--X中非零项.
| |
set_params(**params)
|
设置预测器参数.
|
transform(raw_documents)
|
转换文档为文档词条矩阵(document-term matrix).
|
Parameters:
|
raw_documents : iterable
一个迭代器,产生了 str, unicode 或文件对象.
|
Returns:
|
self :
|
Parameters:
|
raw_documents : iterable
一个迭代器,产生了 str, unicode 或文件对象.
|
Returns:
|
X : array, [n_samples, n_features]
文档词条矩阵.
|
Parameters:
|
deep: boolean, optional :
如果为True, 将返回这个预测器的参数并且包含预测器的子对象.
|
Returns:
|
params : mapping of string to any
参数名称映射到它的值.
|
Parameters:
|
X : {array, sparse matrix}, shape = [n_samples, n_features]
|
Returns:
|
X_inv : list of arrays, len = n_samples
项目数组列表.
|
Returns:
|
self :
|
Parameters:
|
raw_documents : iterable
一个迭代器,产生了包含 str, unicode 或文件对象.
|
Returns:
|
X : sparse matrix, [n_samples, n_features]
文档词条矩阵.
|
sklearn.feature_extraction.text.TfidfTransformer
class sklearn.feature_extraction.text.
TfidfTransformer(
norm=u'l2',
use_idf=True,
smooth_idf=True,
sublinear_tf=False)
转换一个数字矩阵为归一化的 tf 或 tf-idf 表示
Tf 的含义是词频(term-frequency) ,而 tf-idf 的含义是词频乘以逆文档频率y. 这是在信息检索中通用的权重计算模式,它也能被用于文档分类中.
使用tf-idf代替文档中的词频的目的是要缩小语料库中发生非常频繁的词频的影响,因为它们比语料中文档频率较低的词汇具有更少的信息量.
实际使用的公式为 tf-idf 是 tf * (idf + 1) = tf + tf * idf, 代替 tf* idf. 这样做有助于解决idf 零值的影响, 例如. 在训练集的所有文档中都出现的词条将被忽略. 该公式可根据参数设置计算tf和idf,依据IR中的SMART概念,如下:
Tf 默认是 “n” (natural) , “l” (logarithmic) 当线性tf=True. Idf 是 “t” ,当use_idf被给出, 否则为“n” (none) e. 归一化为“c” (cosine) 当=’l2’, 或为 “n”(none) 当 norm=None.
References
Methods
__init__(
norm=u'l2',
use_idf=True,
smooth_idf=True,
sublinear_tf=False)
fit(
X,
y=None)
学习 idf 向量 (全局词条权重)
fit_transform(
X,
y=None,
**fit_params)
拟合数据,然后转换.
X的拟合转换器,y为可选参数fit_params ,并且返回X的转换版本.
get_params(
deep=True)
获取预测器参数.
set_params(
**params)
设置预测器参数.
该方法适用于简单的预测器,以及对嵌套对象(如管道)。前者的格式<component>__<parameter>,以便它可以更新嵌套对象的每个组件的参数。
transform(
X,
copy=True)
转换一个计数矩阵为 tf 或 tf-idf 表示
|
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。