Mallet-Naive-BayesクラシファイアAPIを使用しようとしています。 [ID] [ラベル] [データ] トレーニングとテストのデータ構造:Mallet Classifier
がある私は
- トレーニングを次のように設定するトレーニングセットとテストをモデル化しています私が使用しているコード:
public static void main(String[] args) throws FileNotFoundException { classify(); System.out.println("Finished"); } public static void classify() throws FileNotFoundException{ //prepare instance transformation pipeline ArrayList<Pipe> pipes = new ArrayList<Pipe>(); pipes.add(new Target2Label()); pipes.add(new CharSequence2TokenSequence()); pipes.add(new TokenSequence2FeatureSequence()); pipes.add(new FeatureSequence2FeatureVector()); SerialPipes pipe = new SerialPipes(pipes); //prepare training instances InstanceList trainingInstanceList = new InstanceList(pipe); trainingInstanceList.addThruPipe(new CsvIterator(new FileReader("resources/training.csv"), "(\\w+)\\s+(\\w+)\\s+(.*)", 3, 2, 1)); // (data, label, name) field indices)); //prepare test instances InstanceList testingInstanceList = new InstanceList(pipe); testingInstanceList.addThruPipe(new CsvIterator(new FileReader("resources/testing.csv"), "(\\w+)\\s+(\\w+)\\s+(.*)", 3, 2, 1)); ClassifierTrainer trainer = new NaiveBayesTrainer(); Classifier classifier = trainer.train(trainingInstanceList); for(Instance testInstance :testingInstanceList){ Labeling labeling = (Labeling) classifier.classify(testInstance); Label l = labeling.getBestLabel(); System.out.println(testInstance + " = " + l); } System.out.println("Accuracy: " + classifier.getAccuracy(testingInstanceList)); } }
私はLine 'x'が何らかの理由で正規表現にマッチしないというエラーをスローします。私はそのデータをインポートするときの問題を理解しています。しかし、マレットを使用するときに設定されたトレーニングとテストを表すための実際の形式は何ですか。