Java 重用Weka代码解析ARFF文件
有人这样做过吗?有关于如何使用这个解析器模块的文档吗?我已经浏览了代码,但不清楚在解析数据之后如何实际使用它 文件src\main\java\weka\core\converters\ArffLoader.java(我假设是Arff解析发生的地方)有以下说明:Java 重用Weka代码解析ARFF文件,java,weka,arff,Java,Weka,Arff,有人这样做过吗?有关于如何使用这个解析器模块的文档吗?我已经浏览了代码,但不清楚在解析数据之后如何实际使用它 文件src\main\java\weka\core\converters\ArffLoader.java(我假设是Arff解析发生的地方)有以下说明: 批量使用的典型代码: BufferedReader=newBufferedReader(newFileReader(“/some/where/file.arff”) ArffReader arff=新的ArffReader(读卡器) 实
- 批量使用的典型代码:
- BufferedReader=newBufferedReader(newFileReader(“/some/where/file.arff”)李>
- ArffReader arff=新的ArffReader(读卡器)李>
- 实例数据=arff.getData()李>
- data.setClassIndex(data.numAttributes()-1)李>
(如果我的项目中存在一个更简单的开源Arff解析器,我也愿意接受建议。)在我看来,您的答案在于
实例类,即存储数据的地方
我可以通过查找或生成实例类的javadoc,或者简单地阅读其源代码来找到实例类的API。此类的方法应允许您操作从ARFF文件加载的数据。我认为您的答案位于实例类中,即存储数据的地方
我可以通过查找或生成实例类的javadoc,或者简单地阅读其源代码来找到实例类的API。此类的方法应允许您操作已从ARFF文件加载的数据。您可以使用,并获得内省。我已经成功地使用JRuby的Weka来做同样的事情。谷歌“Weka文档”找到稳定和开发版本的API链接页面。我没有足够的声誉在我的答案中添加第二个链接:)你可以使用,并进行反思。我已经成功地使用JRuby的Weka来做同样的事情。谷歌“Weka文档”找到稳定和开发版本的API链接页面。我没有足够的声誉在我的答案中添加第二个链接:)weka解析器与它们的内部数据模型-实例紧密相连
ARFF格式并不难解析,您最好编写一个直接生成所需数据表示的自定义解析器。weka解析器与其内部数据模型-实例紧密相关
ARFF格式并不难解析,您最好编写一个自定义解析器,直接生成所需的数据表示形式。获得实例对象数据后,您可以使用它来:
data.get(index) //get a instance
data.enumerateInstances() // Returns an enumeration of all instances in the dataset.
您可以在以下位置查看所有方法:获得实例对象数据后,您可以使用它来:
data.get(index) //get a instance
data.enumerateInstances() // Returns an enumeration of all instances in the dataset.
您可以在以下位置看到所有方法:我使用了如下方法:
public class Main {
private static final String ARFF_FILE_PATH = "YOUR_ARFF_FILE_PATH";
public static void main(String[] args) throws IOException {
ArffLoader arffLoader = new ArffLoader();
File datasetFile = new File(ARFF_FILE_PATH);
arffLoader.setFile(datasetFile);
Instances dataInstances = arffLoader.getDataSet();
for(Instance inst : dataInstances){
System.out.println("Instance:" + inst);
}
}
}
我用了这样的方法:
public class Main {
private static final String ARFF_FILE_PATH = "YOUR_ARFF_FILE_PATH";
public static void main(String[] args) throws IOException {
ArffLoader arffLoader = new ArffLoader();
File datasetFile = new File(ARFF_FILE_PATH);
arffLoader.setFile(datasetFile);
Instances dataInstances = arffLoader.getDataSet();
for(Instance inst : dataInstances){
System.out.println("Instance:" + inst);
}
}
}
请在答案中添加代码说明。请在答案中添加代码说明。