Python中的TfidfVectorizer參數解析

vectorizer = CountVectorizer() #構建一個計算詞頻(TF)的玩意兒,固然這裏面不足是能夠作這些

transformer = TfidfTransformer() #構建一個計算TF-IDF的玩意兒

tfidf = transformer.fit_transform(vectorizer.fit_transform(corpus))

#vectorizer.fit_transform(corpus)將文本corpus輸入,獲得詞頻矩陣

#將這個矩陣做爲輸入,用transformer.fit_transform(詞頻矩陣)獲得TF-IDF權重矩陣


TfidfTransformer + CountVectorizer  =  TfidfVectorizer


值得注意的是,CountVectorizer()和TfidfVectorizer()裏面都有一個成員叫作vocabulary_(後面帶一個下劃線)

這個成員的意義是詞典索引,對應的是TF-IDF權重矩陣的列,只不過一個是私有成員,一個是外部輸入,原則上應該保持一致。


vectorizer = TfidfVectorizer(stop_words=stpwrdlst, sublinear_tf = True, max_df = 0.5)


關於參數:

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'} or callable

    定義特徵爲詞(word)或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, default True

    在令牌標記前轉換全部的字符爲小寫

token_pattern:string

    正則表達式顯示了」token「的構成,僅當analyzer == ‘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.0 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()返回矩陣的類型

norm:'l1', 'l2', or None,optional

    範數用於標準化詞條向量。None爲不歸一化

use_idf:boolean, optional

    啓動inverse-document-frequency從新計算權重

smooth_idf:boolean,optional

    經過加1到文檔頻率平滑idf權重,爲防止除零,加入一個額外的文檔

sublinear_tf:boolean, optional

    應用線性縮放TF,例如,使用1+log(tf)覆蓋tf

正則表達式

相關文章
相關標籤/搜索