Python中的TfidfVectorizer解析

vectorizer = CountVectorizer() #构建一个计算词频(TF)的玩意儿,当然这里面不足是可以做这些
transformer = TfidfTransformer() #构建一个计算TF-IDF的玩意儿
TfidfTransformer + CountVectorizer = TfidfVectorizer
TF-IDF相关资料http://www.ruanyifeng.com/blog/2013/03/tf-idf.html

from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer = TfidfVectorizer(stop_words='english', ngram_range=(1, 1),
                analyzer='word', max_df=.57, binary=False,
                token_pattern=r"\w+",sublinear_tf=False)

stop_words:string {'english'}, list, or None(default)如果未english,用于英语内建的停用词列表,如果未list,该列表被假定为包含停用词,列表中的所有词都将从令牌中删除, 如果None,不使用停用词。max_df可以被设置为范围[0.7, 1.0)的值,基于内部预料词频来自动检测和过滤停用词。
ngram_range(min,max):是指将text分成min,min+1,min+2,.........max 个不同的词组。比如'Python is useful'中ngram_range(1,3)之后可得到'Python' 'is' 'useful' 'Python is' 'is useful' 和'Python is useful'如果是ngram_range (1,1) 则只能得到单个单词'Python' 'is'和'useful'
analyzer:string,{'word', 'char'} or callable定义特征为词(word)或n-gram字符
max_df: float in range [0.0, 1.0] or int, optional, 1.0 by default当构建词汇表时,严格忽略高于给出阈值的文档频率的词条,语料指定的停用词。如果是浮点值,该参数代表文档的比例,整型绝对计数值,如果词汇表不为None,此参数被忽略。
binary:boolean, False by default
如果为True,所有非零计数被设置为1,这对于离散概率模型是有用的,建立二元事件模型,而不是整型计数。
token_pattern: 正则表达式显示了”token“的构成,仅当analyzer == ‘word’时才被使用。
sublinear_tf:boolean, optional应用线性缩放TF,例如,使用1+log(tf)覆盖tf

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。