我正在使用 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
,我在一些来源中看到他们很容易添加属性,因为它们具有固定大小的属性,但在我的情况下,我有不同数量的属性,这些属性基于文本。
现在如何对使用模型输入的文本进行分类。