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

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

WBOY
リリース: 2023-05-07 23:58:06
転載
1886 人が閲覧しました

はじめに

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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート