Python sklearn對(duì)文本數(shù)據(jù)進(jìn)行特征化提取
文本特征提取
作用:對(duì)文本數(shù)據(jù)進(jìn)行特征化
(句子、短語(yǔ)、單詞、字母)一般選用單詞作為特征值
方法一:CountVectorizer
sklearn.feature_extraction.text.CountVectorizer(stop_words=[])
返回詞頻矩陣(統(tǒng)計(jì)每個(gè)樣本特征詞出現(xiàn)的個(gè)數(shù))
CountVectorizer.fit_transform(X)
X:文本或者包含文本字符串的可迭代對(duì)象
返回值:返回sparse矩陣
CountVectorizer.inverse_transform(X)
X:array數(shù)組或者sparse矩陣
返回值:轉(zhuǎn)換之前的數(shù)據(jù)格式
CountVectorizer.get_feature_names()
返回值:?jiǎn)卧~列表
代碼展示:
from sklearn.feature_extraction.text import CountVectorizer def count_demo(): #文本特征抽取 data=["life is short, i like like python","life is too long,i dislike python"] #1、實(shí)例化一個(gè)轉(zhuǎn)換器類 transfer=CountVectorizer() #2、調(diào)用fit_transform() result=transfer.fit_transform(data) print("result:\n",result.toarray()) print("特征名字:\n", transfer.get_feature_names()) return None
方法二:TfidfVectorizer
關(guān)鍵詞:在某一個(gè)類別的文章中,出現(xiàn)的次數(shù)很多,但是在其他類別的文章中出現(xiàn)的次數(shù)很少稱為關(guān)鍵詞
Tf-idf文本特征提取
①TF-IDF的主要思想是:如果某個(gè)詞或短語(yǔ)在一篇文章中出現(xiàn)的概率高,并且在其他文章中很少出現(xiàn),則認(rèn)為此詞或者短語(yǔ)具有很好的類別區(qū)分能力,適合用來(lái)分類。
②TF-IDF作用:用以評(píng)估一字詞對(duì)于一個(gè)文件集或一個(gè)語(yǔ)料庫(kù)中的其中一份文件的重要程度。
公式
①詞頻(term frequency,tf)指的是某一個(gè)給定的詞語(yǔ)在該文件中出現(xiàn)的頻率
②逆向文檔頻率(inverse document frequency,idf)是一個(gè)詞語(yǔ)普遍重要性的度量。某一特定詞語(yǔ)的idf,可以由總文件數(shù)目除以包含該詞語(yǔ)之文件數(shù)目,再將得到的商取以10為底的對(duì)數(shù)得到
tfidf = tf * idf
輸出的結(jié)果可以理解為重要程度
API
sklearn.feature_extraction.text.TfidfVectorizer(stop_words=None,...)
返回詞的權(quán)重矩陣
TfidfVectorizer.fit_transform(X)
X:文本或者包含文本字符串的可迭代對(duì)象
返回值:返回sparse矩陣
TfidfVectorizer.inverse_transform(X)
X:array數(shù)組或者sparse矩陣
返回值:轉(zhuǎn)換之前數(shù)據(jù)格式
TfidfVectorizer.get_feature_names()
返回值:?jiǎn)卧~列表
中文分詞+特征提取
from sklearn.feature_extraction.text import TfidfVectorizer import jieba def cut_word(text): #中文分詞 #jieba.cut(text)返回的是生成器對(duì)象,用list強(qiáng)轉(zhuǎn)成列表 word=list(jieba.cut(text)) #轉(zhuǎn)成字符串 words=" ".join(word) return words def tfidf_demo(): data = ["今天很殘酷,明天更殘酷,后天會(huì)很美好,但絕大多數(shù)人都死在明天晚上,卻見不到后天的太陽(yáng),所以我們干什么都要堅(jiān)持", "注重自己的名聲,努力工作、與人為善、遵守諾言,這樣對(duì)你們的事業(yè)非常有幫助", "服務(wù)是全世界最貴的產(chǎn)品,所以最佳的服務(wù)就是不要服務(wù),最好的服務(wù)就是不需要服務(wù)"] data_new = [] # 將中文文本進(jìn)行分詞 for sentence in data: data_new.append(cut_word(sentence)) # 1、實(shí)例化一個(gè)轉(zhuǎn)換器類 transfer = TfidfVectorizer() # 2、調(diào)用fit_transform() result = transfer.fit_transform(data_new) # 得到詞頻矩陣 是一個(gè)sparse矩陣 print("result:\n", result.toarray()) # 將sparse矩陣轉(zhuǎn)化為二維數(shù)組 print("特征名字:\n", transfer.get_feature_names()) return None
到此這篇關(guān)于Python sklearn對(duì)文本數(shù)據(jù)進(jìn)行特征化提取的文章就介紹到這了,更多相關(guān)Python sklearn文本特征提取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python中使用sklearn進(jìn)行特征降維的方法
- Python sklearn CountVectorizer使用詳解
- Python?sklearn?中的?make_blobs()?函數(shù)示例詳解
- Python?sklearn預(yù)測(cè)評(píng)估指標(biāo)混淆矩陣計(jì)算示例詳解
- Python+Sklearn實(shí)現(xiàn)異常檢測(cè)
- Python sklearn中的K-Means聚類使用方法淺析
- python?sklearn與pandas實(shí)現(xiàn)缺失值數(shù)據(jù)預(yù)處理流程詳解
- Python sklearn分類決策樹方法詳解
相關(guān)文章
Python代碼中引用已經(jīng)寫好的模塊、方法的兩種方式
這篇文章主要介紹了Python代碼中引用已經(jīng)寫好的模塊、方法,下面就介紹兩種方式,可以簡(jiǎn)潔明了地調(diào)用自己在其他模塊寫的代碼,需要的朋友可以參考下2022-07-07Python使用asyncio異步時(shí)的常見問(wèn)題總結(jié)
這篇文章主要為大家整理了開發(fā)人員在?Python?中使用?asyncio?時(shí)提出的常見問(wèn)題以及解決方法,文中的示例代碼講解詳細(xì),感興趣的可以學(xué)習(xí)一下2023-04-04Python中ImportError錯(cuò)誤的詳細(xì)解決方法
最近辛辛苦苦安裝完了python,最后再運(yùn)行的時(shí)候會(huì)出現(xiàn)錯(cuò)誤,所以這篇文章主要給大家介紹了關(guān)于Python中ImportError錯(cuò)誤的詳細(xì)解決方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07python實(shí)現(xiàn)單機(jī)五子棋對(duì)戰(zhàn)游戲
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)單機(jī)五子棋對(duì)戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04python如何導(dǎo)出微信公眾號(hào)文章方法詳解
這篇文章主要介紹了python如何導(dǎo)出微信公眾號(hào)文章方法詳解,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08Python使用type動(dòng)態(tài)創(chuàng)建類操作示例
這篇文章主要介紹了Python使用type動(dòng)態(tài)創(chuàng)建類操作,結(jié)合實(shí)例形式詳細(xì)分析了Python使用type動(dòng)態(tài)創(chuàng)建類的具體原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-02-02將字典轉(zhuǎn)換為DataFrame并進(jìn)行頻次統(tǒng)計(jì)的方法
下面小編就為大家分享一篇將字典轉(zhuǎn)換為DataFrame并進(jìn)行頻次統(tǒng)計(jì)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04