我目前正在 WEKA 中编写一个新的过滤器。在对读取数据集应用此过滤器之前,应该可以设置一些选项。其中之一应该是属性类名。现在的答案是,在应用过滤器时调用的处理方法之前,哪个变量可以让我访问读取的数据集?
似乎必须有一个包含所有信息的 Instances 变量,因为 WEKA 资源管理器在打开文件后会显示所有不同的类。
我目前正在 WEKA 中编写一个新的过滤器。在对读取数据集应用此过滤器之前,应该可以设置一些选项。其中之一应该是属性类名。现在的答案是,在应用过滤器时调用的处理方法之前,哪个变量可以让我访问读取的数据集?
似乎必须有一个包含所有信息的 Instances 变量,因为 WEKA 资源管理器在打开文件后会显示所有不同的类。
首先,您必须加载(或创建)一组实例。如果您保存了“.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
现在,如果我了解您要查找的内容,则可以通过查看 Attribute 类来访问此信息。
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了解有关 Attribute 类和这些不同功能的更多信息