如何从arff文件中删除特定属性并生成修改过的arff?

时间:2016-05-07 08:02:04

标签: feature-extraction feature-selection arff

(非手动)我有96个功能,并希望从arff删除约20个功能并生成修改过的arff。使用weka进行特征选择现在想要删除那些不太重要的特征。任何人都可以为此建议代码

2 个答案:

答案 0 :(得分:2)

这里你去......只需更改源和目​​标文件路径......

var zip6 = new EasyZip();
zip6.zipFolder('../easy-zip',function(){
    zip6.writeToResponse(response,'attachment.zip');
}, {rootFolder: 'easy-zip6'});

干杯:)

答案 1 :(得分:1)

此处有简短的回答,请查看https://stackoverflow.com/a/43972890/7588668

BufferedReader datafile = new BufferedReader(new FileReader("bbcsport.arff")); 
BufferedReader attrfile = new BufferedReader(new FileReader("attributes.txt"));


Instances data = new Instances(datafile); 
List<Integer> myList = new ArrayList<Integer>();
String line;

while ((line = attrfile.readLine()) != null) {
  for (n = 0; n < data.numAttributes(); n++) {
    if (data.attribute(n).name().equalsIgnoreCase(line)) {
      if(!myList.contains(n)) 
        myList.add(n); 
    } 
  }
}

int[] attrs = myList.stream().mapToInt(i -> i).toArray();
Remove remove = new Remove();
remove.setAttributeIndicesArray(attrs);
remove.setInvertSelection(false);
remove.setInputFormat(data); // init filter

Instances filtered = Filter.useFilter(data, remove);