Python中的TfidfVectorizer參數(shù)使用解析
TfidfVectorizer參數(shù)解析
vectorizer = CountVectorizer() #構(gòu)建一個計(jì)算詞頻(TF)的玩意兒,當(dāng)然這里面不足是可以做這些 transformer = TfidfTransformer() #構(gòu)建一個計(jì)算TF-IDF的玩意兒 tfidf = transformer.fit_transform(vectorizer.fit_transform(corpus)) #vectorizer.fit_transform(corpus)將文本corpus輸入,得到詞頻矩陣 #將這個矩陣作為輸入,用transformer.fit_transform(詞頻矩陣)得到TF-IDF權(quán)重矩陣
TfidfTransformer + CountVectorizer=TfidfVectorizer
值得注意的是
CountVectorizer()和TfidfVectorizer()里面都有一個成員叫做vocabulary_(后面帶一個下劃線)
這個成員的意義是詞典索引,對應(yīng)的是TF-IDF權(quán)重矩陣的列,只不過一個是私有成員,一個是外部輸入,原則上應(yīng)該保持一致。
vectorizer = TfidfVectorizer(stop_words=stpwrdlst, sublinear_tf = True, max_df = 0.5)
關(guān)于參數(shù)
input:string{'filename', 'file', 'content'}
- 如果是'filename',序列作為參數(shù)傳遞給擬合器,預(yù)計(jì)為文件名列表,這需要讀取原始內(nèi)容進(jìn)行分析
- 如果是'file',序列項(xiàng)目必須有一個”read“的方法(類似文件的對象),被調(diào)用作為獲取內(nèi)存中的字節(jié)數(shù)
- 否則,輸入預(yù)計(jì)為序列串,或字節(jié)數(shù)據(jù)項(xiàng)都預(yù)計(jì)可直接進(jìn)行分析。
encoding:string, ‘utf-8’by default
- 如果給出要解析的字節(jié)或文件
- 此編碼將用于解碼
decode_error:{'strict', 'ignore', 'replace'}
- 如果一個給出的字節(jié)序列包含的字符不是給定的編碼,指示應(yīng)該如何去做。
- 默認(rèn)情況下,它是'strict',這意味著的UnicodeDecodeError將提高,其他值是'ignore'和'replace'
strip_accents: {'ascii', 'unicode', None}
- 在預(yù)處理步驟中去除編碼規(guī)則(accents),”ASCII碼“是一種快速的方法,僅適用于有一個直接的ASCII字符映射
- "unicode"是一個稍慢一些的方法,None(默認(rèn))什么都不做
analyzer:string,{'word', 'char'} or callable
- 定義特征為詞(word)或n-gram字符
- 如果傳遞給它的調(diào)用被用于抽取未處理輸入源文件的特征序列
preprocessor:callable or None(default)
- 當(dāng)保留令牌和”n-gram“生成步驟時
- 覆蓋預(yù)處理(字符串變換)的階段
tokenizer:callable or None(default)
- 當(dāng)保留預(yù)處理和n-gram生成步驟時
- 覆蓋字符串令牌步驟
ngram_range: tuple(min_n, max_n)
- 要提取的n-gram的n-values的下限和上限范圍
- 在min_n <= n <= max_n區(qū)間的n的全部值
stop_words:string {'english'}, list, or None(default)
- 如果未english,用于英語內(nèi)建的停用詞列表
- 如果未list,該列表被假定為包含停用詞,列表中的所有詞都將從令牌中刪除
- 如果None,不使用停用詞。max_df可以被設(shè)置為范圍[0.7, 1.0)的值,基于內(nèi)部預(yù)料詞頻來自動檢測和過濾停用詞
lowercase:boolean, default True
- 在令牌標(biāo)記前轉(zhuǎn)換所有的字符為小寫
token_pattern:string
- 正則表達(dá)式顯示了”token“的構(gòu)成,僅當(dāng)analyzer == ‘word’時才被使用。
- 兩個或多個字母數(shù)字字符的正則表達(dá)式(標(biāo)點(diǎn)符號完全被忽略,始終被視為一個標(biāo)記分隔符)。
max_df: float in range [0.0, 1.0] or int, optional, 1.0 by default
- 當(dāng)構(gòu)建詞匯表時,嚴(yán)格忽略高于給出閾值的文檔頻率的詞條,語料指定的停用詞。
- 如果是浮點(diǎn)值,該參數(shù)代表文檔的比例,整型絕對計(jì)數(shù)值,如果詞匯表不為None,此參數(shù)被忽略。
min_df:float in range [0.0, 1.0] or int, optional, 1.0 by default
- 當(dāng)構(gòu)建詞匯表時,嚴(yán)格忽略低于給出閾值的文檔頻率的詞條,語料指定的停用詞。
- 如果是浮點(diǎn)值,該參數(shù)代表文檔的比例,整型絕對計(jì)數(shù)值,如果詞匯表不為None,此參數(shù)被忽略。
max_features: optional, None by default
- 如果不為None,構(gòu)建一個詞匯表
- 僅考慮max_features--按語料詞頻排序,如果詞匯表不為None,這個參數(shù)被忽略
vocabulary:Mapping or iterable, optional
- 也是一個映射(Map)(例如,字典),其中鍵是詞條而值是在特征矩陣中索引,或詞條中的迭代器。
- 如果沒有給出,詞匯表被確定來自輸入文件。
- 在映射中索引不能有重復(fù),并且不能在0到最大索引值之間有間斷。
binary:boolean, False by default
- 如果未True,所有非零計(jì)數(shù)被設(shè)置為1
- 這對于離散概率模型是有用的,建立二元事件模型,而不是整型計(jì)數(shù)
dtype:type, optional
- 通過fit_transform()或transform()返回矩陣的類型
norm:'l1', 'l2', or None,optional
- 范數(shù)用于標(biāo)準(zhǔn)化詞條向量。
- None為不歸一化
use_idf:boolean, optional
- 啟動inverse-document-frequency重新計(jì)算權(quán)重
smooth_idf:boolean,optional
- 通過加1到文檔頻率平滑idf權(quán)重
- 為防止除零,加入一個額外的文檔
sublinear_tf:boolean, optional
- 應(yīng)用線性縮放TF
- 例如,使用1+log(tf)覆蓋tf
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python開發(fā)入門之如何制作一個簡單的桌面應(yīng)用
這篇文章主要給大家介紹了關(guān)于Python開發(fā)入門之如何制作一個簡單的桌面應(yīng)用的相關(guān)資料,我們不僅可以使用Python的圖像處理庫,如PIL等來實(shí)現(xiàn)圖片的處理和識別,同時你還可以設(shè)計(jì)和開發(fā)具有圖形界面的桌面應(yīng)用程序,需要的朋友可以參考下2023-08-08Flask框架的學(xué)習(xí)指南之開發(fā)環(huán)境搭建
本文是Flask框架的學(xué)習(xí)指南系列文章的第一篇,主要給大家講述的是開發(fā)環(huán)境的搭建工作,有需要的小伙伴可以參考下2016-11-11表格梳理python內(nèi)置數(shù)學(xué)模塊math分析詳解
這篇文章主要為大家介紹了python內(nèi)置數(shù)學(xué)模塊math的分析詳解,文中通過表格梳理的方式以便讓大家在學(xué)習(xí)過程中一目望去清晰明了,有需要的朋友可以借鑒參考下2021-10-10Python?JSON數(shù)據(jù)解析過程(最新推薦)
json模塊提供了將JSON格式的數(shù)據(jù)轉(zhuǎn)換為Python對象(如列表、字典等)以及將Python對象轉(zhuǎn)換為JSON格式的數(shù)據(jù)的方法,下面給大家分享使用json模塊解析JSON數(shù)據(jù)的常見方法,感興趣的朋友一起看看吧2024-02-02Moviepy模塊實(shí)現(xiàn)視頻添加圖片水印
本文主要介紹了Moviepy模塊實(shí)現(xiàn)視頻添加圖片水印,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-0410行Python代碼實(shí)現(xiàn)Web自動化管控的示例代碼
這篇文章主要介紹了10行Python代碼實(shí)現(xiàn)Web自動化管控的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08python利用跳板機(jī)ssh遠(yuǎn)程連接redis的方法
今天小編就為大家分享一篇python利用跳板機(jī)ssh遠(yuǎn)程連接redis的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02