summaryrefslogtreecommitdiffstats
path: root/src/input/ARFFReader.java
blob: 13fbf387459a2df91a943b17908962ab49409bbc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package input;

import java.io.File;

import org.apache.log4j.*;

import weka.core.Instances;
import weka.core.converters.ConverterUtils.DataSource;



public class ARFFReader {
	protected static Logger logger = Logger.getLogger(ARFFReader.class);
	
	public static Instances read(String path) throws Exception {
		Instances instances = null;
		
		if (path.length() == 0) {
			logger.error("Empty file path");
			throw new Exception("Empty file path");
		}
		if (!(new File(path)).exists()) {
			logger.error("File not found");
			throw new Exception("File not found");
		}
		try {
			DataSource source = new DataSource(path);
			instances = source.getDataSet();
			if (instances.classIndex() == -1) {
				instances.setClassIndex(instances.numAttributes() - 1);
			}
		} catch (Exception e) {
			logger.error(e.toString());
			throw e;
		}

		return instances;
	}
}