2013-11-04 23 views
0

我目前正在WEKA中编写一个新的过滤器。在读取数据集上应用此过滤器之前,应该设置一些选项。其中一个应该是属性类的名称。现在的答案是,哪个变量使我可以访问读取数据集之前我的处理方法,这是应用过滤器时调用?查找WEKA属性选项处理的类名称

由于WEKA资源管理器在打开文件后显示所有不同的类,所以似乎必须有一个带有所有信息的Instances变量。

回答

2

首先,您必须加载(或创建)一组实例。如果你有一个“.arrf”文件保存您可以按如下加载实例:

// initialize source 
DataSource source=null; 
Instances originalTrain=null; 
String rootPath="/some/location/filename.arff" //the location and name of your data 
source = new DataSource(rootPath); 
originalTrain = source.getDataSet(); //originalTrain is an Instance object with your data 

现在,如果我知道你在找什么,这些信息都可以通过查看属性类访问。

Instances originalTrain=//load the training data 

//find the name of the first attribute 
String name=originalTrain.attribute(0).name(); 
System.out.println(name); //look at new name 

您可以通过查看JavaDoc

+0

事情了解更多关于属性类和这些不同的功能是,我不知道我得到的情况下,从对象来访问属性。我的代码第一次生成Instances对象是应用过滤器时。但在输入之前的某处似乎被保存在其他Instances对象中。这就是我正在寻找的。 我按照这个描述来写新的过滤器。它不包括特定的数据集加载。 http://weka.wikispaces.com/Writing+your+own+Filter+%28post+3.5.3%29 – Neelia

+0

我更新了包括如何加载数据集......这是你的意思吗? – Walter

+0

有没有办法让所有的属性名称不知道有多少? –