TFIDFVectorizerを使用して、テキストドキュメントをTF-IDFマトリックスに変換します
この記事では、テキストデータを分析するための自然言語処理(NLP)の重要なツールである周波数逆文書頻度(TF-IDF)手法について説明します。 TF-IDFは、ドキュメント内の頻度とドキュメントのコレクション全体にわたって希少性に基づいて項を重み付けすることにより、基本的な言葉の袋のアプローチの制限を上回ります。この強化された重み付けにより、テキスト分類が改善され、機械学習モデルの分析機能が向上します。 TF-IDFモデルをPythonでゼロから構築し、数値計算を実行する方法を示します。
目次
- TF-IDFの重要な用語
- 用語頻度(TF)が説明しました
- ドキュメント頻度(DF)が説明しました
- 逆ドキュメント頻度(IDF)が説明しました
- TF-IDFの理解
- 数値TF-IDF計算
- ステップ1:ターム周波数の計算(TF)
- ステップ2:逆ドキュメント頻度の計算(IDF)
- ステップ3:TF-IDFの計算
- 内蔵データセットを使用したPython実装
- ステップ1:必要なライブラリのインストール
- ステップ2:ライブラリのインポート
- ステップ3:データセットのロード
- ステップ4:
TfidfVectorizer
の初期化 - ステップ5:ドキュメントの取り付けと変換
- ステップ6:TF-IDFマトリックスの検査
- 結論
- よくある質問
TF-IDFの重要な用語
先に進む前に、重要な用語を定義しましょう。
- T :用語(個々の単語)
- D :ドキュメント(単語のセット)
- N :コーパス内のドキュメントの総数
- コーパス:ドキュメントのコレクション全体
用語頻度(TF)が説明しました
用語頻度(TF)は、特定のドキュメントに用語が表示される頻度を定量化します。より高いTFは、そのドキュメント内でより重要性を示しています。式は次のとおりです。
ドキュメント頻度(DF)が説明しました
ドキュメント頻度(DF)は、特定の用語を含むコーパス内のドキュメントの数を測定します。 TFとは異なり、その発生ではなく、用語の存在をカウントします。式は次のとおりです。
df(t)=用語tを含むドキュメントの数
逆ドキュメント頻度(IDF)が説明しました
逆ドキュメント頻度(IDF)は、単語の情報性を評価します。 TFはすべての用語を平等に扱いますが、IDFのダウンウェイトは一般的な単語(停止単語など)と高級の希少な用語を扱います。式は次のとおりです。
ここで、nはドキュメントの総数とdf(t)は、用語tを含むドキュメントの数です。
TF-IDFの理解
TF-IDFは、用語頻度と逆文書頻度を組み合わせて、コーパス全体に比べてドキュメント内の用語の重要性を決定します。式は次のとおりです。
数値TF-IDF計算
例のドキュメントを使用して、数値TF-IDF計算を説明しましょう。
文書:
- 「空は青い。」
- 「今日の太陽は明るいです。」
- 「空の太陽は明るいです。」
- 「輝く太陽、明るい太陽が見えます。」
元のテキストで概説されている手順に従って、各ドキュメントの各用語のTF、IDF、およびTF-IDFを計算します。 (Brevityのために詳細な計算はここでは省略されていますが、元の例を反映しています。)
内蔵データセットを使用したPython実装
このセクションでは、SCIKIT-LEARNのTfidfVectorizer
および20のNewsGroups Datasetを使用したTF-IDF計算を示します。
ステップ1:必要なライブラリのインストール
ピップインストールScikit-Learn
ステップ2:ライブラリのインポート
PDとしてパンダをインポートします sklearn.datasetsからfetch_20newsgroupsをインポートします Sklearn.feature_extraction.textからtfidfvectorizerをインポートします
ステップ3:データセットのロード
newsgroups = fetch_20newsgroups(subset = 'train')
ステップ4: TfidfVectorizer
の初期化
vectorizer = tfidfvectorizer(stop_words = 'inglish'、max_features = 1000)
ステップ5:ドキュメントの取り付けと変換
tfidf_matrix = vectorizer.fit_transform(newsgroups.data)
ステップ6:TF-IDFマトリックスの検査
df_tfidf = pd.dataframe(tfidf_matrix.toarray()、columns = vectorizer.get_feature_names_out())) df_tfidf.head()
結論
20のNewsGroups DatasetとTfidfVectorizer
を使用して、テキストドキュメントをTF-IDFマトリックスに効率的に変換します。このマトリックスは、各用語の重要性を表し、テキスト分類やクラスタリングなどのさまざまなNLPタスクを可能にします。 Scikit-LearnのTfidfVectorizer
、このプロセスを大幅に簡素化します。
よくある質問
FAQSセクションは、IDFの対数性、大規模なデータセットへのスケーラビリティ、TF-IDFの制限(語順とコンテキストを無視)、および一般的なアプリケーション(検索エンジン、テキスト分類、クラスタリング、要約)の制限に対処することはほとんど変わらないままです。
以上がTFIDFVectorizerを使用して、テキストドキュメントをTF-IDFマトリックスに変換しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











エージェントAIに取り組んでいる間、開発者は速度、柔軟性、リソース効率の間のトレードオフをナビゲートすることがよくあります。私はエージェントAIフレームワークを探索していて、Agnoに出会いました(以前はPhi-でした。

SQLの変更テーブルステートメント:データベースに列を動的に追加する データ管理では、SQLの適応性が重要です。 その場でデータベース構造を調整する必要がありますか? Alter Tableステートメントはあなたの解決策です。このガイドの詳細は、コルを追加します

このリリースには、GPT-4.1、GPT-4.1 MINI、およびGPT-4.1 NANOの3つの異なるモデルが含まれており、大規模な言語モデルのランドスケープ内のタスク固有の最適化への動きを示しています。これらのモデルは、ようなユーザー向けインターフェイスをすぐに置き換えません

問題のあるベンチマーク:ラマのケーススタディ 2025年4月上旬、MetaはLlama 4スイートのモデルを発表し、GPT-4oやClaude 3.5 Sonnetなどの競合他社に対して好意的に位置付けた印象的なパフォーマンスメトリックを誇っています。ラウンクの中心

埋め込みモデルのパワーのロックを解除する:Andrew Ngの新しいコースに深く飛び込む マシンがあなたの質問を完全に正確に理解し、応答する未来を想像してください。 これはサイエンスフィクションではありません。 AIの進歩のおかげで、それはRになりつつあります

ビデオゲームは不安を緩和したり、ADHDの子供を焦点を合わせたり、サポートしたりできますか? ヘルスケアの課題が世界的に急増しているため、特に若者の間では、イノベーターはありそうもないツールであるビデオゲームに目を向けています。現在、世界最大のエンターテイメントインダスの1つです

Rocketpy:A包括的なガイドでロケット発売をシミュレートします この記事では、強力なPythonライブラリであるRocketpyを使用して、高出力ロケット発売をシミュレートすることをガイドします。 ロケットコンポーネントの定義からシミュラの分析まで、すべてをカバーします

GoogleのAI戦略の基礎としてのGemini Geminiは、GoogleのAIエージェント戦略の基礎であり、高度なマルチモーダル機能を活用して、テキスト、画像、オーディオ、ビデオ、コード全体で応答を処理および生成します。 DeepMによって開発されました
