0

WEKA の単純な単純ベイズ分類器があります。ディレクトリ構造を使用しており、TextDirectoryLoader 経由で読み込んでいます。ディレクトリ構造は

Training_Data
     Spam (folder)
         text files
     Ham (folder)
         text files

このようなディストリビューションを取得できます

for(Instance i: testInstances){

    double [] distributions = classifier.distributionForInstance(i);
    for(double d : distributions)
        System.out.println(d);
}

私がやりたいのは、カテゴリ名をディストリビューションと一緒に取得して、そのように印刷できるようにすることです

System.out.println("Category: "+/*something to get the category name*/+ ":"+ d);

私は何時間も探し回っていますが、それを行う方法がわかりません。誰でも方法を知っていますか?

4

1 に答える 1

1

カテゴリのインデックスは次のinstance.classAttribute().value(valIndex)場所で使用できます。valIndex

for(Instance i: testInstances){
  double [] distributions = classifier.distributionForInstance(i);
  for(int index = 0; index < distributions.length; index++)
      System.out.println(i.classAttribute().value(index) + ": " + distributions[index]);
}
于 2012-12-03T12:13:46.893 に答える