如何使用Python的sklearn中的CountVectorizer?

WBOY
發布: 2023-05-07 23:58:06
轉載
1655 人瀏覽過

簡介

CountVectorizer官方文件。

將一個文件集合矢量化為為一個計數矩陣。

如果不提供一個先驗字典,不使用分析器做某種特徵選擇,那麼特徵的數量將等於透過分析資料發現的詞彙量。

資料預處理

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

兩種方法產生的詞彙會非常不同。後面會具體給出示範。

import jieba
import re
from sklearn.feature_extraction.text import CountVectorizer
#原始数据
text = ['很少在公众场合手机外放',
        '大部分人都还是很认真去学习的',
        '他们会用行动来',
        '无论你现在有多颓废,振作起来',
        '只需要一点点地改变',
        '你的外在和内在都能焕然一新']
#提取中文
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?

建立模型

訓練模型

#构建模型
vectorizer = CountVectorizer()
#训练模型
X = vectorizer.fit_transform(text)
登入後複製

所有詞彙:model.get_feature_names()

#所有文档汇集后生成的词汇
feature_names = vectorizer.get_feature_names()
print(feature_names)
登入後複製

不分詞產生的詞彙

如何使用Python的sklearn中的CountVectorizer?

分詞後產生的詞彙

如何使用Python的sklearn中的CountVectorizer?

#計數矩陣:X.toarray()##
#每个文档相对词汇量出现次数形成的矩阵
matrix = X.toarray()
print(matrix)
登入後複製

如何使用Python的sklearn中的CountVectorizer?

#计数矩阵转化为DataFrame
df = pd.DataFrame(matrix, columns=feature_names)
df
登入後複製

如何使用Python的sklearn中的CountVectorizer?

字彙索引:model.vocabulary_

print(vectorizer.vocabulary_)
登入後複製

如何使用Python的sklearn中的CountVectorizer?#

以上是如何使用Python的sklearn中的CountVectorizer?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!