1

我想使用一组选定的属性创建一个新的 arff 数据集。我选择了 20 个随机索引。如何使用这些选定的属性创建一个新的 arff 文件?

int indices;    
DataSource source = new DataSource("E:/dataset/lukemia.arff");
Instances toreduce = source.getDataSet();
Random generator = new Random();
for(int i=0;i<20;i++)
{
     indices = generator.nextInt(toreduce.numAttributes());
    System.out.println(indices);
}
4

1 回答 1

0

使用Remove过滤器

Instances data = ...;
int[] r = new int[indexes.size()];
// r contains indexes you want to remove
Remove rmv = new Remove();
rmv.setAttributeIndicesArray(r);
rmv.setInputFormat(data);
Instances newDataset = Filter.useFilter(data, rmv);

对于您的情况,您可能希望设置invertSelectiontrue(当然在使用过滤器之前):

rmv.setInvertSelection(true);
于 2014-10-17T18:16:33.067 回答