summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHai Liu <hai.liu@huawei.com>2016-03-25 09:51:09 +0800
committerHai Liu <hai.liu@huawei.com>2016-03-25 09:51:09 +0800
commitc4e0e363115ec831847fa46c7370baf7415face6 (patch)
tree0bd7104789cf1aacc69c98d154d382b699db5b1c
parent4034199deccff41cb6661812d4c4aa7c523d78b4 (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.java39
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;
+ }
+}