我不确定我应该如何在 weka 中创建一个未标记的 arff 文本文档。我目前正在尝试从磁盘读取未标记的 txt 文档,以根据我构建的模型进行分类。但是,要将文本文档转换为 arff,我目前正在使用
java weka.core.converters.TextDirectoryLoader
它有效地为文档分配了一个类标签。
因此,将改为标记 arff。我的文本文件将是任意长度。
我已经检查了 wikispaces 中的示例,但它似乎只是加载了一个未标记的 arff,而没有解释我该如何创建它。
例子
测试.txt
我有很长很长的绳子
我如何将其转换为 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 空间示例