問題タブ [countvectorizer]

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 投票する
2 に答える
10955 参照

python - Scikit-Learn CountVectorizer を使用して、テキスト コーパスでの発生に従って語彙内の単語を一覧表示する

CountVectorizerのいくつかのドキュメントにを取り付けましたscikit-learn。ストップワードを選択するために、テキストコーパス内のすべての用語とそれに対応する頻度を確認したいと思います。例えば

このための組み込み関数はありますか?

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

python - Scikit-Learn テキストの CountVectorizer または TfidfVectorizer で句読点を保持する方法は?

scikit-learn のテキストCountVectorizerまたはパラメーターを使用して、テキスト ドキュメントから !、?、" および ' の句読点を保持する方法はありますか?TfidfVectorizer

0 投票する
0 に答える
189 参照

regex - Sklearn CountVectorizer 語彙は完全ではありません

次の例を検討してください。

得られた語彙は次のとおりです。

などの単語が語彙から欠落していETH, FirstHourDay_22, Anomaly_Trueます。

どうしてこれなの?どうすれば完全な語彙を持つことができますか?

編集:エラーはおそらくtoken_patternCountVectorizer の値が原因です

編集:次の変数の問題を再考することをお勧めします:

all_docs=['ETH0x0000 0017A4779C04 09002B000005 0 PortA Unknown 755 0 45300 FirstHourDay21 LastHourDay23 duration6911 ThreatScorenan ThreatCategorynan False AnomalyFalse', 'ETH0x0000 0017A4779C04 09002B000005 2 PortC Unknown 774 0 46440 FirstHourDay21 LastHourDay23 duration6911 ThreatScorenan ThreatCategorynan False AnomalyFalse', 'ETH0x0000 0017A4779C0A 09002B000005 0 PortA Unknown 752 0 45120 FirstHourDay21 LastHourDay23 duration6913 ThreatScorenan ThreatCategorynan False AnomalyFalse', 'ICMP 10.6.224.1 71.6.165.200 0 PortA 192 IP-ICMP 1 1 70 FirstHourDay22 LastHourDay22 duration0 ThreatScore122,127 ThreatCategory21,23 True AnomalyTrue', 'ICMP 10.6.224.1 71.6.165.200 2 PortC 192 IP-ICMP 1 1 70 FirstHourDay22 LastHourDay22 duration0 ThreatScore122,127 ThreatCategory21,23 True AnomalyTrue', 'ICMP 10.6.224.1 185.93.185.239 0 PortA 192 IP-ICMP 1 1 70 FirstHourDay22 LastHourDay22 duration0 ThreatScore127 ThreatCategory23 True AnomalyTrue']

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

python - Sklearn: 'str' オブジェクトには属性 'read' がありません

Sklearn を使用して大きな csv ファイルのデータをベクトル化したいので、次のコードを使用しました。

初挑戦:

しかし、私はこのエラーが発生しました:

AttributeError: 'str' オブジェクトに属性 'read' がありません

2 回目の試行で、エラーがまだ発生しました。

3 回目の試行: これは機能しましたが、メモリ不足のために強制終了されました。

Sklearn で fit_transform を使用して大きな CSV ファイルを処理する方法は?

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

python - Pyspark - 複数のスパース ベクトルの合計 (CountVectorizer 出力)

特定のキーワードが含まれているためにフラグが付けられた最大 30,000 の一意のドキュメントを含むデータセットがあります。データセットの主要なフィールドには、ドキュメント タイトル、ファイルサイズ、キーワード、抜粋 (キーワードあたり 50 語) があります。これらの約 30k の一意のドキュメントにはそれぞれ複数のキーワードが含まれており、各ドキュメントにはキーワードごとにデータセット内の 1 つの行があります (したがって、各ドキュメントには複数の行があります)。生データセットのキー フィールドがどのように見えるかのサンプルを次に示します。

生データの例

私の目標は、特定の出来事 (宿題について不平を言う子供など) に対してドキュメントにフラグを付けるモデルを構築することです。そのため、キーワードと抜粋フィールドをベクトル化し、それらを圧縮して、一意のドキュメントごとに 1 行にする必要があります。

私がやろうとしていることの例としてキーワードのみを使用します - Tokenizer、StopWordsRemover、および CountVectorizer を適用すると、カウント ベクトル化の結果を含むスパース マトリックスが出力されます。1 つのスパース ベクトルは次のようになります: sparseVector(158, {7: 1.0, 65: 1.0, 78: 2.0, 110: 1.0, 155: 3.0})

私は2つのことのいずれかをしたい:

  1. 疎なベクトルを密なベクトルに変換し、docID でグループ化し、各列を合計します (1 列 = 1 トークン)。
  2. スパース ベクトル全体を直接合計する (docID によるグループ化)

私が言いたいことを理解してもらうために、下の画像の左側にあるのは、CountVectorizer の出力の目的の密なベクトル表現であり、左側にあるのは、必要な最終的なデータセットです。

CountVectorizer の出力と目的のデータセット

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

python - np.nan は無効なドキュメントです。CountVectorizer で期待されるバイトまたはユニコード文字列です

数値以外の属性ごとに依存関係の列を作成し、UCI のアダルト データ セット内の数値以外の属性を削除しようとしています。sklearn.feature_extraction.text ライブラリの CountVectorizer を使用しています。しかし、プログラムが「np.nan は無効なドキュメントであり、バイトまたは Unicode 文字列が必要です」と言っているところで行き詰まりました。」

なぜそのエラーが発生するのかを理解したいだけです。誰でも私を助けることができます、ありがとう。

ここに私のコードがあります、

エラーはこんな感じ

トレースバック (最新の呼び出しが最後): ファイル "/home/amey/prog/pd.py"、41 行目、X_dtm = pd.DataFrame(vect.fit_transform(temp).toarray()、列 = vect.get_feature_names() 内)

ファイル "/usr/lib/python2.7/dist-packages/sklearn/feature_extraction/text.py"、817 行目、fit_transform self.fixed_vocabulary_ 内)

ファイル "/usr/lib/python2.7/dist-packages/sklearn/feature_extraction/text.py"、752 行目、analyze(doc) の機能の _count_vocab 内:

ファイル "/usr/lib/python2.7/dist-packages/sklearn/feature_extraction/text.py"、238 行目、tokenize(preprocess(self.decode(doc)))、stop_words)

ファイル「/usr/lib/python2.7/dist-packages/sklearn/feature_extraction/text.py」、118行目、デコード中

ValueError: np.nan は無効なドキュメントです。予期されるバイトまたは Unicode 文字列です。

[終了コード 1 で 3.3 秒で終了]

0 投票する
0 に答える
231 参照

python-3.x - scikitlearn の tfidfTransformer に機能を追加する

ドキュメントを分類するために機能を追加しようとしています。しかし、私の質問は、マトリックスのサイズがサンプルの数に対応していない場合、どのように機能を追加できるかです。ここで私の見積もり

しかし、私の結果では、すべてを印刷するわけではありません...

(323, 3000) と (163, 3000) の意味がわかりません???

通常、私は 486 個のドキュメント (ファイル) を持っています。変換メソッドにいくつかの機能を追加したい場合は、最初のパイプライン tdfIdfVectorizer (私の理解では (486, 3000)) によって指定された配列を、この形状 (486, 私の数特徴)。今のところ、行の次元に互換性がないため、変換方法をパーソナライズすることはできません。助けてくれてありがとう。