【问题标题】:Training the classifier in mallet在 mallet 中训练分类器
【发布时间】:2012-08-10 16:17:13
【问题描述】:

我有一个格式如下的 csv 文件
产品名称,产品评论

现在使用 mallet 我必须训练分类器,以便如果输入包含产品评论的测试数据集,它应该告诉我特定评论属于哪个产品

mallet java api 帮助将不胜感激

【问题讨论】:

    标签: classification mallet


    【解决方案1】:

    这里有一个适合你情况的小例子:

        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));
       }
    

    【讨论】:

    • 您好,在我的情况下,我必须使用 txt 文件进行培训。请问如何更改代码?非常感谢。最好的问候
    • @researcher 因为此代码使用 CSVIterator 它将与 txt 文件一起使用。 Fileiterator 可用于通过目录结构进行训练
    猜你喜欢
    • 2017-12-02
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    • 2017-06-08
    • 2017-11-21
    • 2016-07-03
    相关资源
    最近更新 更多