美文网首页
Python中的TfidfVectorizer解析

Python中的TfidfVectorizer解析

作者: smartjiang | 来源:发表于2020-01-21 16:00 被阅读0次

    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

    相关文章

      网友评论

          本文标题:Python中的TfidfVectorizer解析

          本文链接:https://www.haomeiwen.com/subject/csyezctx.html