我已经基于FilteredClassifier训练了模型并将其保存在系统中。 该模型使用StringToWordVector作为过滤器,并使用MultilayerPerceptron作为分类器。
在begginnig,我的.ARFF文件仅包含两个属性:
@attribute text string
@attribute class {1, 2, 3...}
在训练集上进行训练后,我的属性部分如下所示: 过滤的标题
@relation 'userquestions-weka.filters.unsupervised.attribute.ClassAssigner-Clast-weka.filters.unsupervised.attribute.StringToWordVector-R1-W1000-prune-rate-1.0-T-I-N0-L-stemmerweka.core.stemmers.SnowballStemmer -S russian-stopwords-handlerweka.core.stopwords.Null-M1-tokenizerweka.core.tokenizers.WordTokenizer -delimiters \" \\r\\n\\t.,;:\\\'\\\"()?!\"'
@attribute class {0,1,2,3 ...}
@attribute ð±ð°ð½ðºðµ numeric
@attribute ð±ñ‹ numeric
@attribute ð² numeric
@attribute ð²ð°ñˆðµð¼ numeric
@attribute ð²ð°ñ� numeric
@attribute ð²ðµñ‡ðµñ€ numeric
我应该如何通过Java代码测试另一个数据?
例如另一个测试数据集如下
@relation userquestions
@attribute text string
@attribute class {0,1,2,3 ...}
@data
'Добрый вечер', ?
'Привет', ?
这是我加载模型的方式:
public class MyClassTest{
private FilteredClassifier mlp = new FilteredClassifier();
public void loadModel(String modelFile) throws Exception {
this.mlp = (FilteredClassifier) weka.core.SerializationHelper.read(modelFile);
}
}
我应该如何从测试数据集中加载实例以对其进行分类?我应该从加载的模型中加载过滤器并在测试数据集上使用它吗?