1: import java.io.File;
2: import weka.core.Attribute;
3: import weka.core.FastVector;
4: import weka.core.Instance;
5: import weka.core.Instances;
6: import weka.core.converters.ArffSaver;
7: import weka.filters.Filter;
8: import weka.filters.unsupervised.instance.NonSparseToSparse;
9: /**
10: * Generates a sparse ARFF file.
11: *
12: * @author Razan
13: */
14: public class AttTest {
15: public static void main(String[] args) throws Exception
16: {
17: FastVector attributes;
18: Instances dataSet;
19: double[] values;
20: attributes = new FastVector();
21:
22: attributes.addElement(new Attribute("att1"));
23: attributes.addElement(new Attribute("att2"));
24: attributes.addElement(new Attribute("att3"));
25: attributes.addElement(new Attribute("att4"));
26:
27: dataSet = new Instances("ESDN", attributes, 0);
28:
29: values = new double[dataSet.numAttributes()];
30: values[0] = 3;
31: values[1] =7;
32: values[3] = 1;
33: dataSet.add(new Instance(1.0, values));
34:
35: values = new double[dataSet.numAttributes()];
36: values[2] = 2;
37: values[3] = 8;
38: dataSet.add(new Instance(1.0, values));
39:
40: NonSparseToSparse nonSparseToSparseInstance = new NonSparseToSparse();
41: nonSparseToSparseInstance.setInputFormat(dataSet);
42: Instances sparseDataset = Filter.useFilter(dataSet, nonSparseToSparseInstance);
43:
44: System.out.println(sparseDataset);
45:
46: ArffSaver arffSaverInstance = new ArffSaver();
47: arffSaverInstance.setInstances(sparseDataset);
48: arffSaverInstance.setFile(new File("ESDN.arff"));
49: arffSaverInstance.writeBatch();
50: }
51: }