【发布时间】:2012-08-10 16:17:13
【问题描述】:
我有一个格式如下的 csv 文件
产品名称,产品评论
现在使用 mallet 我必须训练分类器,以便如果输入包含产品评论的测试数据集,它应该告诉我特定评论属于哪个产品
mallet java api 帮助将不胜感激
【问题讨论】:
标签: classification mallet
我有一个格式如下的 csv 文件
产品名称,产品评论
现在使用 mallet 我必须训练分类器,以便如果输入包含产品评论的测试数据集,它应该告诉我特定评论属于哪个产品
mallet java api 帮助将不胜感激
【问题讨论】:
标签: classification mallet
这里有一个适合你情况的小例子:
public static void main(String[] args) throws IOException {
//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("datasets/training.txt"), "(.*),(.*)", 2, 1, -1));
//prepare test instances
InstanceList testingInstanceList = new InstanceList(pipe);
testingInstanceList.addThruPipe(new CsvIterator(new FileReader("datasets/testing.txt"), "(.*),(.*)", 2, 1, -1));
ClassifierTrainer trainer = new NaiveBayesTrainer();
Classifier classifier = trainer.train(trainingInstanceList);
System.out.println("Accuracy: " + classifier.getAccuracy(testingInstanceList));
}
【讨论】: