0

この質問で私をブロックしないでください。私は約 1 か月間答えを見つけようとしましたが、見つけることができず、あなたが私の最後の希望です (報告したい場合は、最初に私に答えてから報告してください)。MATLAB でハイブリッド テキスト分類コードを作成し、正しく実行しましたが、結果を評価する方法がわかりません。Reuters-21578 のトレーニング セットと試験セットについては何も知らず、理解できません。私のコードはテキスト内のキーワードを見つけ、ハイブリッド KNN アルゴリズムの助けを借りてテキストを正確なクラスに配置しますが、問題は、これらの候補クラスが何であるかがわからないことです?それらを作成する必要がありますか?それとも準備ができていますか? Reuters-21578 の各 .sgm ファイルがクラスである場合、それらを候補クラスとして使用するにはどうすればよいですか。つまり、それらは単語でいっぱいです。

4

2 に答える 2

1

各記事/ニュースのタグは、クラス ラベルと見なすことができます。トピックを含むストーリーをトレーニング セットとテスト セットに分割して、分類子を評価できます。reuter-21578 にはトピックのない記事があります。分類子を使用して、これらにクラス ラベルを割り当てることができます。

注: 複数のトピックを持つ多くのストーリーがあります。

于 2015-09-28T16:06:49.540 に答える
0

私も同じことを経験しました。reuters データセットのバージョンが問題にならない場合、reuters データセットは nltk.corpus でも利用でき、そこからテスト ドキュメント、トレーニング ドキュメント、およびそれぞれのカテゴリに簡単にアクセスできます。.sgm ファイルからの抽出について心配する必要はありません。

あなたはこれを行うことができます:

  from nltk.corpus import reuters 
  #This gives all  files
  documents = reuters.fileids()
  #to get only the training and testing documents
  train_docs = filter(lambda doc: doc.startswith("train"),documents);
  test_docs = filter(lambda doc: doc.startswith("test"),documents);
  #To get the raw data of a document
  data = reuters.raw(documents[0])
  #to get the categories/class in your case 
  category = reuters.categories(documents[0])

これで、これらを使用してトレーニングとテストを行うことができます。簡単に言うと、test_docs と train_docs には、上記の方法で取得できる生のコンテンツとそれぞれのカテゴリを含むドキュメントが含まれています。

于 2016-07-01T06:59:50.947 に答える