問題タブ [tfidfvectorizer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
719 参照

python - tf-idf 機能選択による sklearn テキスト分類モデルの再利用

私はここで sk-learn と機械学習に比較的慣れていないので、無知の可能性があることを許してください。テキストの説明 (Python) に基づいてアセットを分類するモデルを作成しています。予測子 (テキスト) と予測 (カテゴリ) 変数は 1 つだけです。ラベルについては、カテゴリを因数分解しています。約 30 あるため、それぞれが 0 から 29 までの数値で表されます。機能については、tf-idf スコアを使用しています。モデリングと精度は良好で、ピクル ダンプを使用してモデルを保存しています。

ただし、モデルは再利用可能である必要があるため、新しいデータ セットにラベルを付けるために、ある時点で再度ロードできる必要があります。以下のモデルの保存/読み込みのコードを参照してください。

tfidf ベクトライザーの設定は、モデルのトレーニング/検証が行われたものとまったく同じであることに注意してください。cat_dict はカテゴリの最初の因数分解です。ここでは、テキスト カテゴリが、モデルがトレーニング/検証されたものと同じ数値に変換されるようにしています。

これを試みたところ、次のエラーが発生しました。

新しいデータセットの tf-idf は、最初に使用されたトレーニング/検証データセットと同じ数の機能を生成しないため、これは理解できます。

それで、これに対する回避策があるかどうか疑問に思っていましたか?モデルをトレーニングするとき、そもそも tf-idf を使用すべきではありませんか? そうでない場合、後でこの問題を引き起こさない機能選択の代替方法は何ですか?

事前に感謝し、明らかな何かが欠けている場合は申し訳ありません。

0 投票する
1 に答える
2397 参照

python - huge pandas データフレームのテキスト列に対する TfidfVectorizer の作成

CSVファイル(メモリに収まらない)からロードされた巨大なデータフレームの列に格納されたテキストからTF-IDF機能のマトリックスを取得する必要があります。チャンクを使用してデータフレームを反復処理しようとしていますが、メソッドTfidfVectorizerの予想される変数タイプではないジェネレーター オブジェクトを返しています。以下に示すジェネレーターメソッドを作成しているときに、何か間違ったことをしていると思いChunkIteratorます。

ChunkIterator上記の方法を変更する方法、またはdataframeを使用したその他のアプローチを誰でもアドバイスできますか。dataframeの行ごとに個別のテキスト ファイルを作成することは避けたいと思います。以下は、シナリオを再作成するためのダミー csv ファイル データです。