diff options
author | Hai Liu <hai.liu@huawei.com> | 2016-03-25 09:51:09 +0800 |
---|---|---|
committer | Hai Liu <hai.liu@huawei.com> | 2016-03-25 09:51:09 +0800 |
commit | c4e0e363115ec831847fa46c7370baf7415face6 (patch) | |
tree | 0bd7104789cf1aacc69c98d154d382b699db5b1c | |
parent | 4034199deccff41cb6661812d4c4aa7c523d78b4 (diff) |
Add data input processor code
JIRA: PREDICTION-37
Change-Id: I5d8b6b651bf0459587f2a01626cc786851717681
Signed-off-by: Hai Liu <hai.liu@huawei.com>
-rw-r--r-- | src/input/ARFFReader.java | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/input/ARFFReader.java b/src/input/ARFFReader.java new file mode 100644 index 0000000..13fbf38 --- /dev/null +++ b/src/input/ARFFReader.java @@ -0,0 +1,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; + } +} |