[weka]Ignore Attributes通过代码实现

来源:互联网 发布:精品推荐软件下载 编辑:程序博客网 时间:2024/05/29 08:57

感谢这位作者,我找了一下午终于找到如何Ignore了

如何去除不需要参与建模的属性
code

package weka.test;import java.io.File;import weka.clusterers.SimpleKMeans;import weka.core.DistanceFunction;import weka.core.Instances;import weka.core.converters.ArffLoader;import weka.filters.Filter;import weka.filters.unsupervised.attribute.Remove;public class SimpleKmeansTest {    public static void main(String[] args){        Instances ins = null;        SimpleKMeans KM = null;        DistanceFunction disFun = null;        try {            // 读入样本数据            File file = new File("data/feature.arff");            ArffLoader loader = new ArffLoader();            loader.setFile(file);            ins = loader.getDataSet();            Remove remove=new Remove();              remove.setOptions(new String[]{"-R","1,2,3,7,8"});            remove.setInputFormat(ins); //设置remove使用的数据格式,如果不设置会报 No input instance format define 的错误              ins = Filter.useFilter(ins, remove);            // 初始化聚类器 (加载算法)            KM = new SimpleKMeans();            KM.setNumClusters(3);       //设置聚类要得到的类别数量            KM.buildClusterer(ins);     //开始进行聚类            System.out.println(KM.preserveInstancesOrderTipText());            // 打印聚类结果            System.out.println(KM.toString());        } catch(Exception e) {            e.printStackTrace();        }    }}
原创粉丝点击