使用模型文件weka对测试集进行分类

时间:2013-08-30 18:24:04

标签: java prototype weka

我正在使用weka中的模型生成/训练模型为我的论文创建原型。我的论文是关于文本的情感分析。现在我有了我想要使用模型/训练模型进行分类的测试数据/集。

这是我的部分代码,它读取arff文件并有一个过滤器(stringToWordVector):

          Classify ct = new Classify(TextJ48.model); // loads model


            string sample = getARFFile();
            StringBuilder buffer = new StringBuilder(sample);
            BufferedReader reader = new BufferedReader(new java.io.StringReader(buffer.ToString()));
            weka.core.converters.ArffLoader.ArffReader arff = new weka.core.converters.ArffLoader.ArffReader(reader);
            Instances dataRaw = arff.getData();

            StringToWordVector filter = new StringToWordVector();
            filter.setInputFormat(dataRaw);
            Instances dataFiltered = Filter.useFilter(dataRaw, filter);  

当我显示dataFiltered时,它已成功从单词过滤为数字。

这是classify类:

 public Classify(string filename)
    {
        try
        {
            classifier = (Classifier)weka.core.SerializationHelper.read(filename);
        }
        catch (java.lang.Exception ex)
        {
           lblProgress.Text = ex.getMessage();
        }

        loadAttributes();
        this.fileName = filename;
    }

我不知道在loadAttributes()做什么我的计划是在FastVector中添加所有属性,我在某些来源中看到他们很容易添加属性,因为它们具有固定大小的属性,但是我的情况我有不同数量的属性来自文本。

现在如何对使用模型输入的文本进行分类。

0 个答案:

没有答案