Python中的TfidfVectorizer解析

vectorizer = CountVectorizer() #構(gòu)建一個計算詞頻(TF)的玩意兒,當然這里面不足是可以做這些
transformer = TfidfTransformer() #構(gòu)建一個計算TF-IDF的玩意兒
TfidfTransformer + CountVectorizer = TfidfVectorizer
TF-IDF相關(guān)資料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,用于英語內(nèi)建的停用詞列表,如果未list,該列表被假定為包含停用詞,列表中的所有詞都將從令牌中刪除, 如果None,不使用停用詞。max_df可以被設(shè)置為范圍[0.7, 1.0)的值,基于內(nèi)部預(yù)料詞頻來自動檢測和過濾停用詞。
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當構(gòu)建詞匯表時,嚴格忽略高于給出閾值的文檔頻率的詞條,語料指定的停用詞。如果是浮點值,該參數(shù)代表文檔的比例,整型絕對計數(shù)值,如果詞匯表不為None,此參數(shù)被忽略。
binary:boolean, False by default
如果為True,所有非零計數(shù)被設(shè)置為1,這對于離散概率模型是有用的,建立二元事件模型,而不是整型計數(shù)。
token_pattern: 正則表達式顯示了”token“的構(gòu)成,僅當analyzer == ‘word’時才被使用。
sublinear_tf:boolean, optional應(yīng)用線性縮放TF,例如,使用1+log(tf)覆蓋tf

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容