溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么使用Python的sklearn中的CountVectorizer

發(fā)布時間:2023-05-08 11:06:00 來源:億速云 閱讀:135 作者:zzz 欄目:編程語言

這篇“怎么使用Python的sklearn中的CountVectorizer”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“怎么使用Python的sklearn中的CountVectorizer”文章吧。

簡介

CountVectorizer官方文檔。

將一個文檔集合向量化為為一個計數(shù)矩陣。

如果不提供一個先驗字典,不使用分析器做某種特征選擇,那么特征的數(shù)量將等于通過分析數(shù)據(jù)發(fā)現(xiàn)的詞匯量。

數(shù)據(jù)預(yù)處理

兩種方法:1.可以不分詞直接投入模型;2.可以先將中文文本進行分詞。

兩種方法產(chǎn)生的詞匯會非常不同。在后面會具體給出示范。

import jieba
import re
from sklearn.feature_extraction.text import CountVectorizer
#原始數(shù)據(jù)
text = ['很少在公眾場合手機外放',
        '大部分人都還是很認真去學(xué)習(xí)的',
        '他們會用行動來',
        '無論你現(xiàn)在有多頹廢,振作起來',
        '只需要一點點地改變',
        '你的外在和內(nèi)在都能煥然一新']
#提取中文
text = [' '.join(re.findall('[\u4e00-\u9fa5]+',tt,re.S)) for tt in text]
#分詞
text = [' '.join(jieba.lcut(tt)) for tt in text]
text

怎么使用Python的sklearn中的CountVectorizer

構(gòu)建模型

訓(xùn)練模型
#構(gòu)建模型
vectorizer = CountVectorizer()
#訓(xùn)練模型
X = vectorizer.fit_transform(text)
所有詞匯:model.get_feature_names()
#所有文檔匯集后生成的詞匯
feature_names = vectorizer.get_feature_names()
print(feature_names)

不分詞生成的詞匯

怎么使用Python的sklearn中的CountVectorizer

分詞后生成的詞匯

怎么使用Python的sklearn中的CountVectorizer

計數(shù)矩陣:X.toarray()
#每個文檔相對詞匯量出現(xiàn)次數(shù)形成的矩陣
matrix = X.toarray()
print(matrix)

怎么使用Python的sklearn中的CountVectorizer

#計數(shù)矩陣轉(zhuǎn)化為DataFrame
df = pd.DataFrame(matrix, columns=feature_names)
df

怎么使用Python的sklearn中的CountVectorizer

詞匯索引:model.vocabulary_
print(vectorizer.vocabulary_)

怎么使用Python的sklearn中的CountVectorizer

以上就是關(guān)于“怎么使用Python的sklearn中的CountVectorizer”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI