ホームページ  >  記事  >  バックエンド開発  >  Python の sklearn で CountVectorizer を使用するにはどうすればよいですか?

Python の sklearn で CountVectorizer を使用するにはどうすればよいですか?

WBOY
WBOY転載
2023-05-07 23:58:061825ブラウズ

はじめに

CountVectorizer の公式ドキュメント。

ドキュメント コレクションをカウント行列にベクトル化します。

先験的な辞書を提供せず、アナライザーを使用して何らかの特徴選択を行わない場合、特徴の数はデータの分析によって発見された語彙と同じになります。

データの前処理

2 つの方法: 1. 単語を分割せずにモデルに直接入力できます; 2. 最初に中国語のテキストを分割できます。

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。