我不确定我应该如何在weka中创建一个未标记的arff文本文档。我目前正在尝试从磁盘读取未标记的txt文档,以根据我构建的模型进行分类。但是,要将文本文档转换为arff,我目前正在使用
java weka.core.converters.TextDirectoryLoader
有效地为文档分配了一个类标签。
因此,arff会被贴上标签。我的文本文件将是任意长度。
我已经检查了wiki空间的示例,但它似乎只是加载一个未标记的arff而没有解释我如何创建它。
示例
我有一个很长的长字符串
如何将此格式转换为arff格式,以便在此代码中使用 unlabeled.arff
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import weka.core.Instances;
...
// load unlabeled data
Instances unlabeled = new Instances(
new BufferedReader(
new FileReader("/some/where/unlabeled.arff")));
// set class attribute
unlabeled.setClassIndex(unlabeled.numAttributes() - 1);
// create copy
Instances labeled = new Instances(unlabeled);
// label instances
for (int i = 0; i < unlabeled.numInstances(); i++) {
double clsLabel = tree.classifyInstance(unlabeled.instance(i));
labeled.instance(i).setClassValue(clsLabel);
}
// save labeled data
BufferedWriter writer = new BufferedWriter(
new FileWriter("/some/where/labeled.arff"));
writer.write(labeled.toString());
writer.newLine();
writer.flush();
writer.close();
此代码来自weka wiki空间示例
答案 0 :(得分:0)
我创建了一个目录名为的目录?并将测试文档放入文件夹并使用TextDirectoryLoader转换为arff。它对我有用,但我怀疑它是最好的解决方案。