功能:將壹個文本文檔集合轉換成壹個token counts的矩陣(統計字數,即TF);結果用scipy.sparse.coo_matrix稀疏表示。
查看參數以了解CountVectorizer在提取tf時做了什麽:
Strip _ Accents: {'ascii ',' unicode ',none}:是否要刪除“音調”?不知道什麽是“調”?看:/?reqp = 1 & amp;reqr=nzcdYz9hqaSbYaOvrt==
Lowercase: Boolean,默認為true:在計算tf之前將所有字符轉換為小寫。這個參數壹般是真的。
預處理程序:可調用或無(缺省):覆蓋預處理(字符串轉換)階段,但保留標記化和n元語法生成步驟。這個參數可以自己寫。
Tokenizer: Callable或None(缺省):覆蓋字符串標記化步驟,但保留預處理和n元語法生成步驟。這個參數可以自己寫。
Stop _ words: string {'English'}、list或none(默認):如果是' English ',則使用內置的英語停用詞表。如果是列表,那麽列表中的所有停用詞都將在最後的標記中被刪除。如果為None,則不會處理暫停詞;但參數max_df可以設置在[0.7,1.0]之間,然後根據詞條的語料庫內文檔頻率(df)自動檢測過濾停用詞。這個參數要根據自己的需要來調整。
Token_pattern: string:正則表達式。默認情況下,篩選長度大於或等於2的2個或更多字母數字字符的選擇標記。僅當參數分析器設置為word時有效。
Ngram _ range: tuple (min _ n,max _ n):n值的上下界。默認為ngram_range=(1,1),將提取該範圍內的所有n元特征!這個參數要根據自己的需要來調整。
Analyzer: string、{'word '、' char '、' char _ WB'}或callable:特性是基於單詞n-grams還是字符n-grams。如果它是可調用的,那麽它就是壹個自我復制的函數,從原始的、未處理的輸入中提取特征。
max_df:在[0.0,1.0]或int範圍內浮動,默認值=1.0:
Min_df: float in range [0.0,1.0]或int,default = 1:刪除df超過max_df或df在比例或絕對數量上小於Min_df的單詞令牌。有效的前提是參數vocal被設置為Node。
Max_features: int或none,default = none:選擇tf最大的Max_features。有效的前提是參數vocal被設置為Node。
詞匯表:映射或iterable,可選:用戶定義的特征詞令牌。如果不是None,則只計算vocal中單詞的tf。將其設置為None仍然是可靠的。
Binary: boolean,default=False:如果為True,tf的值只有0和1,表示出現和不出現,對於建模二元事件而不是整數計數的離散概率模型很有用。
dtype : type,可選:fit_transform()或transform()返回的矩陣的類型。。
結論:
CountVectorizer在提取tf上做了這些事情:去除聲調,轉小寫,去除停頓詞,在word的基礎上提取ngram_range範圍內的所有特征(不是字符,也可以自己選擇參數),刪除符合“max_df,min_df,max_features”特征的tf。當然,妳也可以選擇tf作為二進制。
通過這種方式,您應該可以確信CountVectorizer處理的結果就是您想要的。。。。哇哈哈。
最後,看兩個函數:
fit(raw_documents[,y])學習原始文檔中所有標記的詞匯字典。
fit_transform(raw_documents[,y])學習詞匯字典並返回術語-文檔矩陣。
fit(raw_documents,y=None)[source]?
學習原始文檔中所有標記的詞匯詞典。
參數:
raw_documents:可叠代
產生字符串、unicode或文件對象的iterable。
退貨:
自我:
fit_transform(raw_documents,y = None)[來源]
學習詞匯詞典並返回術語-文檔矩陣。
這相當於fit後跟transform,但實現起來更有效。
參數:
raw_documents:可叠代
產生字符串、unicode或文件對象的iterable。
退貨:
x:數組,[n個樣本,n個特征]
文檔術語矩陣。