diff --git a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/jastadd/model/MachineLearningHandlerFactory.java b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/jastadd/model/MachineLearningHandlerFactory.java index a8a7dcfe030bb0dbf1958b9c90fb38615d724033..71399f7dd248c17a83e882668a1874a5005065ac 100644 --- a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/jastadd/model/MachineLearningHandlerFactory.java +++ b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/jastadd/model/MachineLearningHandlerFactory.java @@ -28,7 +28,7 @@ public abstract class MachineLearningHandlerFactory implements MachineLearningSe this.knowledgeBase = root; } - public abstract void initializeFor(MachineLearningHandlerFactoryTarget target, URL configUrl) throws IOException; + public abstract void initializeFor(MachineLearningHandlerFactoryTarget target, URL configUrl) throws IOException, ClassNotFoundException; public abstract MachineLearningEncoder createEncoder(); diff --git a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/ParserUtils.java b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/ParserUtils.java index 9970a680fe141f7ce0f1ad3cb0d4a836fd1caf95..c1b75ba26b03db32a52fadec3436dc5fdbcbeff0 100644 --- a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/ParserUtils.java +++ b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/ParserUtils.java @@ -3,6 +3,8 @@ package de.tudresden.inf.st.eraser.util; import beaver.Parser; import beaver.Scanner; import beaver.Symbol; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; import de.tudresden.inf.st.eraser.jastadd.model.*; import de.tudresden.inf.st.eraser.jastadd.parser.EraserParser; import de.tudresden.inf.st.eraser.jastadd.scanner.EraserScanner; @@ -27,6 +29,9 @@ public class ParserUtils { public static final String UNKNOWN_GROUP_NAME = "Unknown"; private static boolean verboseLoading = false; private static final Logger logger = LogManager.getLogger(ParserUtils.class); + private static final ObjectMapper OBJECT_MAPPER_INSTANCE = new ObjectMapper() + .enable(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS) + .enable(SerializationFeature.INDENT_OUTPUT); private interface ReaderProvider { Reader provide() throws IOException; @@ -253,4 +258,17 @@ public class ParserUtils { return root.getSmartHomeEntityModel().items().get(0); } + public static <T> T loadFrom(URL location, Class<T> valueType) throws IOException { + return OBJECT_MAPPER_INSTANCE.readValue(location, valueType); + } + + public static <T> void saveTo(T value, URL location) throws IOException { + if (location.getProtocol().equals("file")) { + // write to (local) file directly + OBJECT_MAPPER_INSTANCE.writeValue(new File(location.getFile()), value); + } else { + OBJECT_MAPPER_INSTANCE.writeValue(location.openConnection().getOutputStream(), value); + } + } + } diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Learner.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Learner.java index f7fe7afe54deb7b2fc6ed3b2b0e4e3d413a3692f..cc4c9fa5cd60de0a7294458119995c54ff1a7fb7 100644 --- a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Learner.java +++ b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Learner.java @@ -2,7 +2,7 @@ package de.tudresden.inf.st.eraser.feedbackloop.learner_backup; import com.fasterxml.jackson.databind.ObjectMapper; import de.tudresden.inf.st.eraser.feedbackloop.learner_backup.data.LearnerSettings; -import de.tudresden.inf.st.eraser.feedbackloop.learner_backup.data.LearnerSettingsColumnDefinition; +import de.tudresden.inf.st.eraser.feedbackloop.learner_backup.data.SimpleColumnDefinition; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.encog.Encog; @@ -10,10 +10,8 @@ import org.encog.ml.data.MLData; import org.encog.ml.data.versatile.NormalizationHelper; import org.encog.ml.data.versatile.VersatileMLDataSet; import org.encog.ml.data.versatile.columns.ColumnDefinition; -import org.encog.ml.data.versatile.columns.ColumnType; import org.encog.ml.data.versatile.sources.CSVDataSource; import org.encog.ml.data.versatile.sources.VersatileDataSource; -import org.encog.ml.factory.MLMethodFactory; import org.encog.ml.model.EncogModel; import org.encog.neural.networks.BasicNetwork; import org.encog.persist.EncogDirectoryPersistence; @@ -48,7 +46,7 @@ public class Learner { * @throws IOException if an error occurs in {@link ObjectMapper#readValue(URL, Class)} */ Learner(URL configURL) throws IOException { - this(new ObjectMapper().readValue(configURL, LearnerSettings.class)); + this(LearnerSettings.loadFrom(configURL)); } Learner(LearnerSettings settings) { @@ -83,12 +81,12 @@ public class Learner { VersatileMLDataSet data = new VersatileMLDataSet(source); final int inputSize = settings.inputColumns.size(); for (int index = 0; index < inputSize; index++) { - LearnerSettingsColumnDefinition columnDefinition = settings.inputColumns.get(index); + SimpleColumnDefinition columnDefinition = settings.inputColumns.get(index); data.defineSourceColumn(columnDefinition.name, index, columnDefinition.type); } List<ColumnDefinition> targets = new ArrayList<>(); for (int targetIndex = 0; targetIndex < settings.targetColumns.size(); targetIndex++) { - LearnerSettingsColumnDefinition columnDefinition = settings.targetColumns.get(targetIndex); + SimpleColumnDefinition columnDefinition = settings.targetColumns.get(targetIndex); targets.add(data.defineSourceColumn(columnDefinition.name, inputSize + targetIndex, columnDefinition.type)); } if (targets.size() == 1) { @@ -118,7 +116,24 @@ public class Learner { return result; } + void load(URL networkLocation, URL normalizationHelperLocation, boolean useJsonFormat) + throws IOException, ClassNotFoundException { + this.network = (BasicNetwork) EncogDirectoryPersistence.loadObject(networkLocation.openStream()); + this.normalizationHelper = LearnerPersistenceUtils.loadNormalizationHelperFrom( + normalizationHelperLocation, useJsonFormat); + } + void shutdown() { Encog.getInstance().shutdown(); } + + public void save() { + EncogDirectoryPersistence.saveObject(new File(settings.name + "_network.eg"), this.network); + try { + LearnerPersistenceUtils.saveNormalizationHelper(this.normalizationHelper, + new File(settings.name + "_normalizer.json").toURI().toURL(), true); + } catch (IOException e) { + logger.catching(e); + } + } } diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/LearnerGoal.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/LearnerGoal.java new file mode 100644 index 0000000000000000000000000000000000000000..3c3bb624695de79a1dce060508b9b52d23ff7046 --- /dev/null +++ b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/LearnerGoal.java @@ -0,0 +1,11 @@ +package de.tudresden.inf.st.eraser.feedbackloop.learner_backup; + +/** + * Goal of the Learner. + * + * @author rschoene - Initial contribution + */ +public enum LearnerGoal { + ACTIVITY_PHONE_AND_WATCH, + PREFERENCE_BRIGHTNESS_IRIS +} diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/LearnerKind.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/LearnerKind.java new file mode 100644 index 0000000000000000000000000000000000000000..cbd9f047a3d12c1da42f3e69d3e79111f6c2c4c8 --- /dev/null +++ b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/LearnerKind.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.eraser.feedbackloop.learner_backup; + +/** + * Kind of Learner. + * + * @author rschoene - Initial contribution + */ +public enum LearnerKind { + /** The standard learner, getting a CSV for initial training */ + normal, + /** A learner loaded a pre-trained model, getting a BasicNetwork and a NormalizationHelper */ + loaded +} diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/LearnerPersistenceUtils.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/LearnerPersistenceUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..882fac6d48f804bd5e3c98be01dd4daf6d389cea --- /dev/null +++ b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/LearnerPersistenceUtils.java @@ -0,0 +1,190 @@ +package de.tudresden.inf.st.eraser.feedbackloop.learner_backup; + +import de.tudresden.inf.st.eraser.feedbackloop.learner_backup.data.NormalizationHelperData; +import de.tudresden.inf.st.eraser.feedbackloop.learner_backup.data.SimpleColumnDefinition; +import de.tudresden.inf.st.eraser.util.ParserUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.encog.EncogError; +import org.encog.ml.data.versatile.NormalizationHelper; +import org.encog.ml.data.versatile.columns.ColumnDefinition; +import org.encog.ml.data.versatile.columns.ColumnType; +import org.encog.ml.data.versatile.missing.MeanMissingHandler; +import org.encog.ml.data.versatile.normalizers.Normalizer; +import org.encog.ml.data.versatile.normalizers.RangeNormalizer; +import org.encog.ml.data.versatile.normalizers.strategies.BasicNormalizationStrategy; +import org.encog.ml.data.versatile.normalizers.strategies.NormalizationStrategy; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.net.URL; +import java.net.URLConnection; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +/** + * Handles objects storing to and loading from files. + * + * @author rschoene - Initial contribution + */ +public class LearnerPersistenceUtils { + + private static final Logger logger = LogManager.getLogger(LearnerPersistenceUtils.class); + + static NormalizationHelper loadNormalizationHelperFrom(URL location, boolean useJsonFormat) throws IOException, ClassNotFoundException { + NormalizationHelper result; + if (useJsonFormat) { + NormalizationHelperData data = NormalizationHelperData.loadFrom(location); + result = new NormalizationHelper(); + result.setSourceColumns(mapSimpleColumnDefs(data.sourceColumns)); + result.setInputColumns(mapSimpleColumnDefs(data.inputColumns)); + result.setOutputColumns(mapSimpleColumnDefs(data.outputColumns)); + result.setNormStrategy(new BasicNormalizationStrategy( + data.inputLow, data.inputHigh, data.outputLow, data.outputHigh)); + data.unknownValues.forEach(result::defineUnknownValue); + data.missingToMean.forEach((name, mean) -> findColumnDef(name, result).ifPresent( + columnDefinition -> result.defineMissingHandler(columnDefinition, new MeanMissingHandler()))); + } else { + URLConnection connection = location.openConnection(); + ObjectInputStream in = new ObjectInputStream(connection.getInputStream()); + result = (NormalizationHelper) in.readObject(); + } + return result; + } + + private static Optional<ColumnDefinition> findColumnDef(String name, NormalizationHelper result) { + List<ColumnDefinition> allDefs = new ArrayList<>(); + allDefs.addAll(result.getSourceColumns()); + allDefs.addAll(result.getInputColumns()); + allDefs.addAll(result.getOutputColumns()); + for(ColumnDefinition colDef : allDefs) { + if (colDef.getName().equals(name)) { + return Optional.of(colDef); + } + } + logger.warn("Could not find column with name '{}'", name); + return Optional.empty(); + } + + private static List<ColumnDefinition> mapSimpleColumnDefs(List<SimpleColumnDefinition> columnDefinitions) { + return columnDefinitions.stream() + .map(colDef -> { + ColumnDefinition result = new ColumnDefinition(colDef.name, colDef.type); + result.setLow(colDef.low); + result.setHigh(colDef.high); + result.setSd(colDef.sd); + result.setMean(colDef.mean); + result.setCount(colDef.count); + result.setIndex(colDef.index); + colDef.classes.forEach(result::defineClass); + return result; + }) + .collect(Collectors.toList()); + } + + private static List<SimpleColumnDefinition> mapColumnDefs(List<ColumnDefinition> columnDefinitions) { + return columnDefinitions.stream() + .map(colDef -> { + SimpleColumnDefinition result = new SimpleColumnDefinition(); + result.name = colDef.getName(); + result.type = colDef.getDataType(); + result.low = colDef.getLow(); + result.high = colDef.getHigh(); + result.sd = colDef.getSd(); + result.mean = colDef.getMean(); + result.count = colDef.getCount(); + result.index = colDef.getIndex(); + result.classes = colDef.getClasses(); + return result; + }) + .collect(Collectors.toList()); + } + + static void saveNormalizationHelper(NormalizationHelper normalizationHelper, URL targetLocation, boolean useJsonFormat) throws IOException { + ObjectOutputStream out; + if (targetLocation.getProtocol().equals("file")) { + // we want to write to a file, thus can not use URL directly (FileURLConnection does not support output) + out = new ObjectOutputStream(new FileOutputStream(targetLocation.getFile())); + } else { + URLConnection connection = targetLocation.openConnection(); + connection.setDoOutput(true); + + out = new ObjectOutputStream(connection.getOutputStream()); + } + if (useJsonFormat) { + NormalizationHelperData data = new NormalizationHelperData(); + data.sourceColumns = mapColumnDefs(normalizationHelper.getSourceColumns()); + data.inputColumns = mapColumnDefs(normalizationHelper.getInputColumns()); + data.outputColumns = mapColumnDefs(normalizationHelper.getOutputColumns()); + NormalizationStrategy normStrategy = normalizationHelper.getNormStrategy(); + if (normStrategy instanceof BasicNormalizationStrategy) { + BasicNormalizationStrategy basicNormStrategy = (BasicNormalizationStrategy) normStrategy; + double[] lowAndHigh = extractLowAndHigh(basicNormStrategy.getInputNormalizers().get(ColumnType.continuous)); + data.inputLow = lowAndHigh[0]; + data.inputHigh = lowAndHigh[1]; + lowAndHigh = extractLowAndHigh(basicNormStrategy.getOutputNormalizers().get(ColumnType.continuous)); + data.outputLow = lowAndHigh[0]; + data.outputHigh = lowAndHigh[1]; + } else { + logger.warn("Unknown normalization strategy, can not serialize {}", normStrategy); + } + data.unknownValues = normalizationHelper.getUnknownValues(); + testForMissingHandlers(normalizationHelper, data); + ParserUtils.saveTo(data, targetLocation); + } else { + out.writeObject(normalizationHelper); + } + out.close(); + } + + private static void testForMissingHandlers(NormalizationHelper normalizationHelper, NormalizationHelperData data) { + List<ColumnDefinition> allDefs = new ArrayList<>(); + allDefs.addAll(normalizationHelper.getSourceColumns()); + allDefs.addAll(normalizationHelper.getInputColumns()); + allDefs.addAll(normalizationHelper.getOutputColumns()); + String firstUnknown; + if (normalizationHelper.getUnknownValues().isEmpty()) { + normalizationHelper.defineUnknownValue(null); + firstUnknown = null; + } else { + firstUnknown = normalizationHelper.getUnknownValues().get(0); + } + double[] buffer = new double[1]; + for (ColumnDefinition colDef : allDefs) { + try { + normalizationHelper.normalizeToVector(colDef, 0, buffer, false, firstUnknown); + // there was a missing handler defined + data.missingToMean.put(colDef.getName(), colDef.getMean()); + } catch (EncogError e) { + // missing handler is not defined, so move on + } + } + } + + private static double[] extractLowAndHigh(Normalizer norm) { + if (norm instanceof RangeNormalizer) { + /* reconstruct low and high from the normalizer, as we know the normalization formula is + result = ((value - col.low) / (col.high - col.low)) * (normHigh - normLow) + normLow + if the first part of the product is zero, we get normLow + if the first part of the product is one, we get normHigh + */ + double[] buffer = new double[2]; + ColumnDefinition colDef = new ColumnDefinition("dummy", ColumnType.continuous); + colDef.setLow(0); + colDef.setHigh(1); + // now we have (value / 1) as first part of the product + norm.normalizeColumn(colDef, 0, buffer, 0); + norm.normalizeColumn(colDef, 1, buffer, 1); + return buffer; + } else { + logger.error("Unknown normalizer, can not serialize {}", norm); + return new double[2]; + } + + } + +} diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/MachineLearningHandlerFactoryImpl.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/MachineLearningHandlerFactoryImpl.java index 8e80845431b0dbbef529f457699d2dbab797e160..27e3b6c6aa1393804faeb24eeaf22d14754862a6 100644 --- a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/MachineLearningHandlerFactoryImpl.java +++ b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/MachineLearningHandlerFactoryImpl.java @@ -7,6 +7,9 @@ import de.tudresden.inf.st.eraser.jastadd.model.MachineLearningHandlerFactory; import java.io.IOException; import java.net.URL; +import static de.tudresden.inf.st.eraser.feedbackloop.learner_backup.LearnerGoal.ACTIVITY_PHONE_AND_WATCH; +import static de.tudresden.inf.st.eraser.feedbackloop.learner_backup.LearnerGoal.PREFERENCE_BRIGHTNESS_IRIS; + /** * Factory to create handlers of type {@link MachineLearningHandlerFactoryImpl}. * @@ -17,14 +20,14 @@ public class MachineLearningHandlerFactoryImpl extends MachineLearningHandlerFac private MachineLearningImpl handler; @Override - public void initializeFor(MachineLearningHandlerFactoryTarget target, URL configUrl) throws IOException { + public void initializeFor(MachineLearningHandlerFactoryTarget target, URL configUrl) throws IOException, ClassNotFoundException { switch (target) { case ACTIVITY_RECOGNITION: - handler = new MachineLearningImpl(MachineLearningImpl.GOAL_ACTIVITY_PHONE_AND_WATCH, configUrl); + handler = new MachineLearningImpl(ACTIVITY_PHONE_AND_WATCH, configUrl); handler.setKnowledgeBaseRoot(knowledgeBase); break; case PREFERENCE_LEARNING: - handler = new MachineLearningImpl(MachineLearningImpl.GOAL_PREFERENCE_BRIGHTNESS_IRIS, configUrl); + handler = new MachineLearningImpl(PREFERENCE_BRIGHTNESS_IRIS, configUrl); handler.setKnowledgeBaseRoot(knowledgeBase); break; default: @@ -43,9 +46,10 @@ public class MachineLearningHandlerFactoryImpl extends MachineLearningHandlerFac return handler; } + @Override public void shutdown() { if (handler != null) { - handler.getLearner().shutdown(); + handler.shutdown(); } } } diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/MachineLearningImpl.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/MachineLearningImpl.java index f5d241096a459b01ea0e2ebc5e1813911441e60f..f729b0f8093f0d16467f628c4fb4fdcb4c2c3279 100644 --- a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/MachineLearningImpl.java +++ b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/MachineLearningImpl.java @@ -1,9 +1,11 @@ package de.tudresden.inf.st.eraser.feedbackloop.learner_backup; +import de.tudresden.inf.st.eraser.feedbackloop.learner_backup.data.LearnerScenarioDefinition; import de.tudresden.inf.st.eraser.jastadd.model.*; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import java.io.File; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; @@ -13,12 +15,13 @@ import java.util.stream.Collectors; public class MachineLearningImpl implements MachineLearningDecoder, MachineLearningEncoder { - public static final int GOAL_ACTIVITY_PHONE_AND_WATCH = 1; - public static final int GOAL_PREFERENCE_BRIGHTNESS_IRIS = 2; +// public static final int GOAL_ACTIVITY_PHONE_AND_WATCH = 1; +// public static final int GOAL_PREFERENCE_BRIGHTNESS_IRIS = 2; private final Logger logger = LogManager.getLogger(MachineLearningImpl.class); private final Learner learner; - private final int goal; + private final LearnerGoal goal; + private final LearnerScenarioDefinition scenarioDefinition; private List<Item> target_item_list; private List<Item> relevant_item_list; @@ -34,8 +37,16 @@ public class MachineLearningImpl implements MachineLearningDecoder, MachineLearn private String activity_result; private Instant lastModelUpdate; - public MachineLearningImpl(int goal, URL configURL) throws IOException { - this.learner = new Learner(configURL); + /** + * Create a new MachineLearning handler. + * @param goal The goal of the learner + * @param configURL The URL for the {@link LearnerScenarioDefinition} + * @throws IOException If an error occurs during initialization of the Learner + */ + public MachineLearningImpl(LearnerGoal goal, URL configURL) throws IOException { + scenarioDefinition = LearnerScenarioDefinition.loadFrom(configURL); + URL learnerSettingsURL = filenameToURL(scenarioDefinition.definitionFile); + this.learner = new Learner(learnerSettingsURL); this.goal = goal; } @@ -45,29 +56,10 @@ public class MachineLearningImpl implements MachineLearningDecoder, MachineLearn SmartHomeEntityModel model = this.root.getSmartHomeEntityModel(); List<String> targetItemNames, relevantItemNames; switch (this.goal) { - case GOAL_ACTIVITY_PHONE_AND_WATCH: - targetItemNames = Collections.singletonList("activity"); - relevantItemNames = Arrays.asList( - "m_accel_x", - "m_accel_y", - "m_accel_z", - "m_rotation_x", - "m_rotation_y", - "m_rotation_z", - "w_accel_x", - "w_accel_y", - "w_accel_z", - "w_rotation_x", - "w_rotation_y", - "w_rotation_z" - ); - break; - case GOAL_PREFERENCE_BRIGHTNESS_IRIS: - targetItemNames = Collections.singletonList("iris1_item"); - relevantItemNames = Arrays.asList( - "activity", - "w_brightness" - ); + case ACTIVITY_PHONE_AND_WATCH: + case PREFERENCE_BRIGHTNESS_IRIS: + targetItemNames = scenarioDefinition.targetItemNames; + relevantItemNames = scenarioDefinition.relevantItemNames; break; default: logger.error("Unknown goal value ({}) set", this.goal); @@ -99,48 +91,50 @@ public class MachineLearningImpl implements MachineLearningDecoder, MachineLearn /* FIXME either save state of unchanged items here (if only changed items are reported) <- pull model or let knowledge base pass all relevant items <- push model */ - if (this.goal == GOAL_ACTIVITY_PHONE_AND_WATCH) { - - for (Item item : changedItems) { - if(item.getID().equals("m_accel_x")) - { - a_length = 0; - } - int i = 0; - for (Item item1 : relevant_item_list) { - if (item.getTopic().toString().equals(item1.getTopic().toString())) { - this.a_new_data[i] = item.getStateAsString(); + switch (this.goal) { + case ACTIVITY_PHONE_AND_WATCH: + for (Item item : changedItems) { + if (item.getID().equals("m_accel_x")) { + a_length = 0; } - i++; - } - a_length++; - } - if(a_length == 12){ - for (String value : a_new_data){ - if(value == null){ - empty = true; - break; + int i = 0; + for (Item item1 : relevant_item_list) { + if (item.getTopic().toString().equals(item1.getTopic().toString())) { + this.a_new_data[i] = item.getStateAsString(); + } + i++; } + a_length++; } - if(!empty){ - this.activity_result = learner.predictor(a_new_data)[0]; - } - a_length = 0; - Arrays.fill(this.a_new_data, null); - } - - } else if (this.goal == GOAL_PREFERENCE_BRIGHTNESS_IRIS) { - for (Item item : changedItems) { - if (root.getSmartHomeEntityModel().getActivityItem().equals(item)) { - String test = item.getStateAsString(); - int index = Math.round(Float.parseFloat(test)); - this.p_new_data[0] = root.getMachineLearningRoot().getActivity(index).getLabel(); + if (a_length == 12) { + for (String value : a_new_data) { + if (value == null) { + empty = true; + break; + } + } + if (!empty) { + this.activity_result = learner.predictor(a_new_data)[0]; + } + a_length = 0; + Arrays.fill(this.a_new_data, null); } - if (item.getID().equals("w_brightness")) { - this.p_new_data[1] = item.getStateAsString(); + break; + case PREFERENCE_BRIGHTNESS_IRIS: + for (Item item : changedItems) { + if (root.getSmartHomeEntityModel().getActivityItem().equals(item)) { + String test = item.getStateAsString(); + int index = Math.round(Float.parseFloat(test)); + this.p_new_data[0] = root.getMachineLearningRoot().getActivity(index).getLabel(); + } + if (item.getID().equals("w_brightness")) { + this.p_new_data[1] = item.getStateAsString(); + } } - } - this.preference_result = learner.predictor(this.p_new_data); + this.preference_result = learner.predictor(this.p_new_data); + break; + default: + logger.error("Unknown goal value ({}) set in newData", this.goal); } } @@ -168,23 +162,15 @@ public class MachineLearningImpl implements MachineLearningDecoder, MachineLearn public MachineLearningResult classify() { MachineLearningResult result = new MachineLearningResult(); switch (this.goal) { - case GOAL_ACTIVITY_PHONE_AND_WATCH: - String activityStringValue = activity_result; - if (activityStringValue == null) { + case ACTIVITY_PHONE_AND_WATCH: + if (activity_result == null) { return result; } Item activityItem = resolve(this.root.getSmartHomeEntityModel(), "activity"); - ItemUpdate classifiedActivity = null; - for (Activity activity : this.root.getMachineLearningRoot().getActivityList()) { - if (activity.getLabel().equals(activityStringValue)) { - classifiedActivity = new ItemUpdateDouble(activityItem, activity.getIdentifier()); - } - } - if (classifiedActivity != null) { - result.addItemUpdate(classifiedActivity); - } - return result; - case GOAL_PREFERENCE_BRIGHTNESS_IRIS: + this.root.resolveActivity(activity_result).ifPresent( + activity -> result.addItemUpdate(new ItemUpdateDouble(activityItem, activity.getIdentifier()))); + break; + case PREFERENCE_BRIGHTNESS_IRIS: Item iris1 = resolve(this.root.getSmartHomeEntityModel(), "iris1_item"); int color = 0; int brightness = 0; @@ -193,19 +179,33 @@ public class MachineLearningImpl implements MachineLearningDecoder, MachineLearn brightness = Math.round(Float.parseFloat(preference_result[1])); } result.addItemUpdate(new ItemUpdateColor(iris1, TupleHSB.of(color, 100, brightness))); - return result; + break; default: logger.error("Unknown goal value ({}) set in classify", this.goal); - return result; } + return result; } - void startTraining() throws MalformedURLException { - learner.train(); + void startTraining() throws IOException, ClassNotFoundException { + switch (this.scenarioDefinition.kind) { + case normal: + learner.train(filenameToURL(this.scenarioDefinition.dataFiles.get(0))); + break; + case loaded: + learner.load(filenameToURL(this.scenarioDefinition.dataFiles.get(0)), + filenameToURL(this.scenarioDefinition.dataFiles.get(1)), true); + } this.lastModelUpdate = Instant.now(); } - Learner getLearner() { - return learner; + void shutdown() { + if (this.scenarioDefinition.saveModels) { + learner.save(); + } + learner.shutdown(); + } + + private static URL filenameToURL(String filename) throws MalformedURLException { + return new File(filename).toURI().toURL(); } } diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Main.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Main.java index 5df0fc2707eccb05fc8ee37229411fe0a535ffb5..4aa97dabac3c0747cf879d579196d0fea3ad361b 100644 --- a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Main.java +++ b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Main.java @@ -4,16 +4,18 @@ import com.fasterxml.jackson.databind.ObjectMapper; import de.tudresden.inf.st.eraser.feedbackloop.learner_backup.data.LearnerSettings; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.encog.ml.data.versatile.NormalizationHelper; import org.encog.util.csv.CSVFormat; import org.encog.util.csv.ReadCSV; import java.io.File; import java.io.IOException; -import java.net.MalformedURLException; +import java.net.URL; import java.nio.file.Paths; import java.util.Arrays; import java.util.stream.Collectors; +@SuppressWarnings("unused") public class Main { private static final Logger logger = LogManager.getLogger(Main.class); @@ -25,7 +27,18 @@ public class Main { // learner.preference_train("../datasets/backup/preference_data.csv"); // learner.train("datasets/backup/activity_data.csv","datasets/backup/preference_data.csv"); // activity_validation_learner(); - testSettings(); +// testSettings(); + testLoadNormalizationHelper(); + } + + private static void testLoadNormalizationHelper() { + try { + URL binaryURL = Paths.get("src", "test", "resources", "activity_normalizer.bin").toUri().toURL(); + NormalizationHelper normalizer = LearnerPersistenceUtils.loadNormalizationHelperFrom(binaryURL, false); + System.out.println("loaded"); + } catch (IOException | ClassNotFoundException e) { + logger.catching(e); + } } private static void testSettings() { diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/ReaderCSV.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/ReaderCSV.java index 0fd0f005edc4ea0e9147f92dbbf6c7241c4c724c..ee3b5aceed331350341b22a5ad5cda52408d8539 100644 --- a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/ReaderCSV.java +++ b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/ReaderCSV.java @@ -1,19 +1,15 @@ package de.tudresden.inf.st.eraser.feedbackloop.learner_backup; -import java.awt.*; -import java.io.FileReader; -import java.io.*; -import java.util.Arrays; - import com.opencsv.CSVReader; -import org.apache.http.client.fluent.Request; import org.apache.http.HttpResponse; +import org.apache.http.client.fluent.Request; import org.apache.http.entity.ContentType; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.Condition; -import java.util.concurrent.locks.ReentrantLock; + +import java.io.File; +import java.io.FileReader; +import java.util.Arrays; public class ReaderCSV{ diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/data/LearnerScenarioDefinition.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/data/LearnerScenarioDefinition.java new file mode 100644 index 0000000000000000000000000000000000000000..c6151128a2af6a9845cb36e9d4c5c77c1f062b3a --- /dev/null +++ b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/data/LearnerScenarioDefinition.java @@ -0,0 +1,30 @@ +package de.tudresden.inf.st.eraser.feedbackloop.learner_backup.data; + +import com.fasterxml.jackson.annotation.JsonInclude; +import de.tudresden.inf.st.eraser.feedbackloop.learner_backup.LearnerKind; +import de.tudresden.inf.st.eraser.feedbackloop.learner_backup.MachineLearningImpl; +import de.tudresden.inf.st.eraser.util.ParserUtils; + +import java.io.IOException; +import java.net.URL; +import java.util.List; + +/** + * Settings to initialize {@link MachineLearningImpl}. + * + * @author rschoene - Initial contribution + */ +@JsonInclude(JsonInclude.Include.NON_DEFAULT) +public class LearnerScenarioDefinition { + public List<String> relevantItemNames; + public List<String> targetItemNames; + public String definitionFile; + public List<String> dataFiles; + public LearnerKind kind = LearnerKind.normal; + /** Save models at shutdown */ + public boolean saveModels = false; + + public static LearnerScenarioDefinition loadFrom(URL location) throws IOException { + return ParserUtils.loadFrom(location, LearnerScenarioDefinition.class); + } +} diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/data/LearnerSettings.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/data/LearnerSettings.java index cd035bd1d0e6d6bfa4a25f0a10eb9c4c18fadc35..e8d4c856565dd5c4d2ed095349764006d577e356 100644 --- a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/data/LearnerSettings.java +++ b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/data/LearnerSettings.java @@ -2,10 +2,12 @@ package de.tudresden.inf.st.eraser.feedbackloop.learner_backup.data; import com.fasterxml.jackson.annotation.JsonInclude; import de.tudresden.inf.st.eraser.feedbackloop.learner_backup.Learner; -import org.encog.ml.data.versatile.columns.ColumnDefinition; +import de.tudresden.inf.st.eraser.util.ParserUtils; import org.encog.ml.factory.MLMethodFactory; import org.encog.ml.model.EncogModel; +import java.io.IOException; +import java.net.URL; import java.util.List; /** @@ -18,9 +20,9 @@ public class LearnerSettings { /** Description what this learner is about to learn */ public String name; /** Input columns (of the CSV used for training) */ - public List<LearnerSettingsColumnDefinition> inputColumns; + public List<SimpleColumnDefinition> inputColumns; /** Target columns (of the CSV used for training) */ - public List<LearnerSettingsColumnDefinition> targetColumns; + public List<SimpleColumnDefinition> targetColumns; /** Training method */ public String trainingMethod = MLMethodFactory.TYPE_FEEDFORWARD; /** Training parameter. Used in {@link EncogModel#holdBackValidation(double, boolean, int)} */ @@ -34,4 +36,9 @@ public class LearnerSettings { /** Filename to load initial data from. Should be in another settings file! */ public String initialDataFile = null; + + public static LearnerSettings loadFrom(URL location) throws IOException { + return ParserUtils.loadFrom(location, LearnerSettings.class); + } + } diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/data/LearnerSettingsColumnDefinition.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/data/LearnerSettingsColumnDefinition.java deleted file mode 100644 index 8f9408374c21fc962862f704f1ed19469759bb5f..0000000000000000000000000000000000000000 --- a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/data/LearnerSettingsColumnDefinition.java +++ /dev/null @@ -1,15 +0,0 @@ -package de.tudresden.inf.st.eraser.feedbackloop.learner_backup.data; - -import com.fasterxml.jackson.annotation.JsonInclude; -import org.encog.ml.data.versatile.columns.ColumnType; - -/** - * Simple representation of a {@link org.encog.ml.data.versatile.columns.ColumnDefinition}. - * - * @author rschoene - Initial contribution - */ -@JsonInclude(JsonInclude.Include.NON_DEFAULT) -public class LearnerSettingsColumnDefinition { - public String name; - public ColumnType type; -} diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/data/NormalizationHelperData.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/data/NormalizationHelperData.java new file mode 100644 index 0000000000000000000000000000000000000000..1f89a300015b50de605482ae74dea7f31847e315 --- /dev/null +++ b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/data/NormalizationHelperData.java @@ -0,0 +1,33 @@ +package de.tudresden.inf.st.eraser.feedbackloop.learner_backup.data; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.databind.ObjectMapper; + +import java.io.IOException; +import java.net.URL; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Settings to initialize {@link org.encog.ml.data.versatile.NormalizationHelper}. + * + * @author rschoene - Initial contribution + */ +@JsonInclude(JsonInclude.Include.NON_DEFAULT) +public class NormalizationHelperData { + public List<SimpleColumnDefinition> sourceColumns; + public List<SimpleColumnDefinition> inputColumns; + public List<SimpleColumnDefinition> outputColumns; + public double inputLow; + public double inputHigh; + public double outputLow; + public double outputHigh; + public List<String> unknownValues = new ArrayList<>(); + public Map<String, Double> missingToMean = new HashMap<>(); + + public static NormalizationHelperData loadFrom(URL location) throws IOException { + return new ObjectMapper().readValue(location, NormalizationHelperData.class); + } +} diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/data/SimpleColumnDefinition.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/data/SimpleColumnDefinition.java new file mode 100644 index 0000000000000000000000000000000000000000..23ee6c54f315ee789fbcb8f72db334e42c71b1c0 --- /dev/null +++ b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/data/SimpleColumnDefinition.java @@ -0,0 +1,25 @@ +package de.tudresden.inf.st.eraser.feedbackloop.learner_backup.data; + +import com.fasterxml.jackson.annotation.JsonInclude; +import org.encog.ml.data.versatile.columns.ColumnType; + +import java.util.ArrayList; +import java.util.List; + +/** + * Simple, serializable representation of a {@link org.encog.ml.data.versatile.columns.ColumnDefinition}. + * + * @author rschoene - Initial contribution + */ +@JsonInclude(JsonInclude.Include.NON_DEFAULT) +public class SimpleColumnDefinition { + public String name; + public ColumnType type; + public int count = -1; + public int index = -1; + public double low = Double.NaN; + public double high = Double.NaN; + public double mean = Double.NaN; + public double sd = Double.NaN; + public List<String> classes = new ArrayList<>(); +} diff --git a/feedbackloop.learner_backup/src/main/resources/activity_data.csv b/feedbackloop.learner_backup/src/main/resources/activity_data.csv new file mode 100644 index 0000000000000000000000000000000000000000..c32f9706f812e54cc6dc58a1876c806503530d9e --- /dev/null +++ b/feedbackloop.learner_backup/src/main/resources/activity_data.csv @@ -0,0 +1,369 @@ +0.2717419,8.698134,4.471172,0.043741,0.515962,0.854318,1.8818425,4.9320555,8.145074,0.2374878,-0.032836914,0.3381958,working +0.2813187,8.604761,4.55856,0.041658,0.510887,0.857407,1.8818425,4.9320555,8.145074,0.2374878,-0.032836914,0.3381958,working +0.23822308,8.622718,4.406528,0.03991,0.512086,0.856781,1.8818425,4.9320555,8.145074,0.2374878,-0.032836914,0.3381958,working +0.11731588,8.619126,4.4783545,0.038642,0.513641,0.855887,2.0590134,5.7125654,6.4547677,0.2374878,-0.032836914,0.3381958,working +0.24181437,8.669404,4.486734,0.04219,0.515633,0.854455,2.0829554,4.6112323,7.302315,0.30133057,0.005004883,0.3652954,working +0.19632454,8.66701,4.4556093,0.041381,0.51905,0.852327,0.21547815,-1.0773908,9.294291,0.0087890625,-0.002319336,0.5358887,working +0.23343466,8.623915,4.4328647,0.042787,0.516075,0.853984,0.7757214,3.490746,9.370906,0.10900879,0.048583984,0.53826904,working +0.18555063,8.669404,4.437653,0.043233,0.516444,0.853727,1.1109096,2.1978772,9.299079,0.056274414,0.01751709,0.55133057,working +0.21547815,8.698134,4.4125137,0.043405,0.515751,0.854099,0.36391866,-0.8283938,9.763555,-0.009521484,-0.016784668,0.5675049,working +0.3890578,8.66701,4.4520183,0.039945,0.519914,0.851807,1.1875241,-1.8243817,7.465121,0.04333496,-0.003479004,0.5588989,working +0.12808979,8.670602,4.3634324,0.039883,0.521765,0.850612,1.1875241,-1.8243817,7.465121,0.04333496,-0.003479004,0.5588989,working +0.10654198,8.6574335,4.414908,0.040269,0.516884,0.853285,1.2066777,-1.1444284,9.648633,1.2207031E-4,-0.055358887,0.5834961,working +0.08140286,8.76637,4.1539397,0.039312,0.527554,0.84693,0.44532153,-2.1452048,9.543288,-0.05847168,-0.039367676,0.52716064,working +0.17956513,8.698134,4.1814733,0.041489,0.52054,0.850801,0.6368576,-0.6512229,9.998186,0.034851074,-0.028747559,0.53570557,working +0.02633622,8.651448,4.3873744,0.040486,0.520068,0.850974,1.508347,0.19632454,9.749189,0.08312988,-0.020568848,0.57818604,working +0.010773907,8.610746,4.4963107,0.047136,0.515427,0.852877,0.9720459,-1.3694834,9.696517,-0.0056152344,-0.049438477,0.5576782,working +0.21906945,8.929175,3.6032736,0.047929,0.528586,0.845337,1.043872,-0.59855044,10.160992,0.0053100586,-0.024353027,0.52856445,working +-0.15801731,8.755595,4.423288,0.048114,0.519962,0.849552,1.1923125,-0.08140286,9.849746,0.052856445,-0.003540039,0.5180054,working +0.05865794,8.665813,4.332308,0.045692,0.518734,0.850569,2.5905263,0.90021986,9.873688,0.12976074,-0.029785156,0.532959,working +0.06584055,8.605958,4.477157,0.048499,0.515082,0.852584,2.327164,2.0398598,8.001422,0.20056152,0.003479004,0.48242188,working +0.05865794,8.631097,4.3861775,0.046089,0.516823,0.851908,2.0111294,1.2354081,9.006987,0.16241455,-0.02746582,0.46368408,working +-0.017956512,8.627506,4.4675803,0.047409,0.513421,0.853688,1.1779473,-0.51235914,9.773131,0.057434082,-0.011291504,0.5081787,working +-0.18794483,8.659827,4.4783545,0.041528,0.515836,0.852265,0.9959879,0.7469909,9.672575,0.07373047,-0.002319336,0.5019531,working +-0.027533319,8.591593,4.620809,0.046683,0.510911,0.854784,3.0550013,3.6487634,8.48984,0.25952148,-0.010253906,0.43432617,working +-0.08140286,8.716091,4.332308,0.042494,0.517638,0.85112,1.3455414,-0.49320555,9.89763,0.034423828,-0.038757324,0.4852295,working +-0.22146365,8.836999,4.1036615,0.038773,0.531266,0.842643,2.2266076,3.2369606,8.465898,0.26757812,0.02154541,0.43115234,working +1.0761937,11.745954,2.4648306,0.526819,0.526535,0.468877,-9.270349,-2.4372973,1.0390835,-0.7081909,-0.08135986,0.6744995,walking +-1.8710686,8.711303,-1.5227122,0.54441,0.510167,0.46156,-9.270349,-2.4372973,1.0390835,-0.7081909,-0.08135986,0.6744995,walking +-0.63087213,9.64983,-2.3463178,0.218222,0.734833,0.617411,-11.353305,-1.388637,0.16759412,-0.6591797,-0.101745605,0.7449341,walking +-0.10055647,9.488221,0.008379706,0.520795,-0.531387,-0.481526,-8.963891,-0.51235914,-0.3878607,-0.51483154,-0.0703125,0.83361816,walking +2.2026656,10.09156,-3.4476504,0.512742,-0.552492,-0.477334,-15.552734,-0.7517793,0.48362875,-0.6300659,-0.072631836,0.772522,walking +0.09816227,9.627085,-1.8674773,0.54604,-0.514798,-0.454878,-13.747506,-2.2984335,-2.5139117,-0.34100342,-0.17474365,0.42633057,walking +-0.7781156,8.385692,-3.1112652,0.50674,-0.550405,-0.502163,-10.745177,-2.27928,1.2785037,-0.03930664,-0.30413818,0.26208496,walking +-0.18674773,9.277532,-1.1683705,0.548857,-0.509167,-0.470289,-9.150639,1.6232687,0.16280572,0.030029297,-0.38269043,0.19390869,walking +-0.6823475,10.573992,-2.553416,0.679861,-0.341986,-0.292999,-7.52737,-2.1452048,0.9672575,0.3192749,-0.3623047,0.18859863,walking +-0.2765303,11.451467,-0.30645782,0.563436,0.508963,0.451556,-8.384495,-0.80924016,-0.7134721,0.16137695,-0.67700195,0.019042969,walking +1.2916719,9.548077,-1.3000516,0.51573,0.538749,0.509015,-7.28795,-1.0630256,0.23463176,0.26348877,-0.6868286,-0.1529541,walking +0.8379706,10.741586,0.45489833,0.54087,0.51788,0.4762,-9.370906,-0.48362875,1.7286136,0.18725586,-0.7562256,-0.11633301,walking +0.59495914,9.346964,-1.6639702,0.502446,0.561492,0.502803,-9.605537,-2.5905263,0.05746084,0.13793945,-0.74884033,-0.1798706,walking +0.93014735,10.562021,-0.16519992,0.523761,0.542328,0.462923,-9.481039,-2.4277205,-0.7230489,0.42114258,-0.3991089,-0.73480225,walking +0.08738836,9.709685,-1.5191209,0.562041,0.534199,0.433607,-12.689269,-1.6472107,0.34476504,0.7036743,0.074035645,-0.63220215,walking +0.18076223,9.118318,-1.3084313,0.254447,-0.716063,-0.601747,-8.485051,-2.4133554,-1.3599066,0.15490723,0.4364624,-0.1907959,walking +-0.18435353,9.961076,-1.3263878,0.261971,-0.708253,-0.606287,-10.0508585,-1.0199299,0.8331822,0.113220215,0.6170654,-0.04260254,walking +-0.688333,8.623915,-0.7649474,0.467896,-0.599728,-0.506172,-6.7803793,-0.521936,0.2681506,-0.20965576,0.58239746,-0.020568848,walking +-0.22744916,9.506178,-1.1575965,0.49718,-0.585651,-0.491387,-9.394848,-2.0494366,-0.33997664,-0.18896484,0.69592285,0.20074463,walking +-1.1348516,10.6877165,-0.9516952,0.519502,-0.571514,-0.466647,-8.714894,-0.7278373,-0.8810662,-0.18896484,0.69592285,0.20074463,walking +0.8882488,10.172963,-0.6715736,0.52846,-0.55123,-0.467232,-9.56723,-0.80445176,-0.4357447,-0.22363281,0.6533203,0.2144165,walking +-0.8511387,8.486248,-1.1384429,0.491758,-0.577708,-0.488183,-11.305421,-4.060566,-1.0055647,-0.18109131,0.64508057,0.1262207,walking +0.023942016,11.11987,1.3946224,0.51358,-0.536144,-0.482607,3.8546648,5.104438,6.799533,0.1015625,-0.27069092,-0.4434204,walking +-0.5470751,9.082404,-1.6232687,0.42116,-0.616129,-0.547717,-8.441956,-1.6424223,0.320823,-0.20501709,0.6883545,0.33581543,walking +-1.4808137,9.829395,-4.5178585,0.00118,0.776792,0.629414,-9.768343,-3.2609026,0.272939,-0.20495605,0.69610596,0.3265381,walking +-1.4257472,9.561244,-0.8643068,0.450442,0.612177,0.47736,-9.768343,-3.2609026,0.272939,-0.20495605,0.69610596,0.3265381,walking +-1.5466543,11.438298,-2.468422,0.496624,0.573871,0.452744,-9.768343,-3.2609026,0.272939,-0.20495605,0.69610596,0.3265381,walking +-2.6252422,8.619126,-2.7030537,0.552147,0.5078,0.450302,-8.1881695,-1.2641385,0.038307227,-0.34222412,0.49102783,-0.016540527,walking +-0.21308395,9.40203,-2.1691468,0.599439,0.476026,0.396271,-6.339846,-1.3503298,-0.033518825,-0.35205078,0.44171143,-0.16430664,walking +-0.08140286,8.789114,-2.3690627,0.593409,0.464892,0.410283,-8.432379,-4.2999864,1.4700398,-0.24761963,0.57470703,0.45324707,walking +-0.8559271,9.961076,-0.90021986,0.555447,0.518125,0.43304,-9.509769,-2.006341,-2.1499932,0.13470459,0.65411377,0.0036010742,walking +-0.2801216,8.352173,-0.33638534,0.558818,0.514925,0.445665,-7.8290396,-3.596091,-0.79008657,0.16339111,0.60461426,-0.7661743,walking +-0.08738836,9.898827,-1.9524715,0.508351,0.559775,0.486663,-10.352529,-2.0590134,0.22505496,0.59747314,0.28381348,-0.71154785,walking +2.1930888,7.1550717,-3.1411927,0.192016,0.739159,0.626426,-8.556877,-1.412579,0.78529817,0.6008911,0.26306152,-0.72491455,walking +-0.92895025,11.055226,-0.23822308,0.493986,-0.554274,-0.504623,-13.939042,-2.0590134,1.3934253,0.64434814,0.144104,-0.7451172,walking +0.21188685,8.973468,-1.0235212,0.550447,-0.505433,-0.448153,-13.024457,-2.873042,1.1875241,0.5584717,0.3137207,-0.7282715,walking +-0.24779987,12.925097,-3.788824,0.53726,-0.52702,-0.453356,-11.741165,-2.5570073,1.3982137,0.6694946,0.21734619,-0.6765747,walking +-2.1547816,13.4183035,-6.009446,0.323083,-0.661886,-0.619246,-8.001422,-2.4995465,1.6376339,0.4973755,0.46984863,-0.6560669,walking +-1.2593501,8.961497,-1.7465701,0.196693,-0.740158,-0.62706,-12.808979,-2.5761611,0.10055647,0.5979004,0.381958,-0.6482544,walking +-0.1328782,9.147048,-2.9053638,0.022181,0.777414,0.627034,-7.6710224,-1.5753847,-0.320823,0.4567871,0.2935791,-0.8391113,walking +0.7338228,9.568427,-6.634333,0.393491,0.730379,0.484185,-11.674128,0.17238252,1.7142484,0.7868042,0.18414307,-0.5524292,walking +-1.9716251,8.117541,-4.0761285,0.469076,0.718339,0.409424,-11.674128,0.17238252,1.7142484,0.7868042,0.18414307,-0.5524292,walking +0.32561144,9.016563,3.6092591,-0.018518,-0.561261,-0.827409,-12.650962,-2.0111294,0.5746084,0.78063965,0.17840576,-0.39233398,walking +0.090979666,9.075222,3.503914,0.010144,0.564181,0.825586,-8.2169,-0.18195933,0.24899697,0.74591064,0.1239624,-0.62054443,walking +0.19991584,9.054871,3.7086184,-0.012561,-0.560571,-0.82801,-9.385271,-4.0462008,-1.5562311,0.256958,0.36480713,-0.27624512,walking +0.21667525,9.060856,3.6415808,0.012755,0.558465,0.829429,-9.710882,-0.7757214,3.6870706,0.14190674,0.45703125,-0.21124268,walking +0.22744916,9.060856,3.645172,0.012841,0.558664,0.829293,-10.529699,-3.1316159,-0.272939,-0.29626465,0.49450684,0.17242432,walking +0.19512744,9.060856,3.6140475,0.01255,0.557529,0.830062,-9.509769,-0.8283938,0.9959879,-0.1918335,0.40795898,-0.080078125,walking +0.1328782,9.076419,3.5685577,-0.010446,-0.561843,-0.827177,-9.572019,-2.4947581,-1.6136919,0.13330078,0.41436768,-0.2218628,walking +-1.5095441,11.198878,-1.8387469,0.261779,-0.680799,-0.637011,-1.958457,-0.10055647,4.4675803,-0.04296875,-0.19110107,-0.9154053,dancing +-0.05267244,-5.6156,2.4037786,0.352709,-0.731645,-0.528224,18.703505,12.378023,14.5088625,-0.5602417,-0.23596191,-0.7937622,dancing +0.07062895,-1.5753847,-0.81761986,0.339088,-0.677723,-0.589453,18.703505,12.378023,14.5088625,-0.5602417,-0.23596191,-0.7937622,dancing +2.2732944,3.4225113,-2.6755204,0.118016,0.877354,0.45141,-12.794614,11.975797,11.530476,-0.47833252,-0.43554688,-0.7303467,dancing +-4.5561657,13.062764,-2.8646624,0.381358,-0.792455,-0.433683,-12.794614,11.975797,11.530476,-0.371521,-0.3826294,-0.53393555,dancing +4.5980644,-4.882974,2.19668,0.276273,-0.733631,-0.604661,-12.794614,11.975797,11.530476,-0.371521,-0.3826294,-0.53393555,dancing +-1.8016368,11.6442,-5.7664347,0.219061,-0.663912,-0.707763,-1.8626889,-9.198523,-16.357185,-0.7172241,-0.3291626,-0.37512207,dancing +-1.7992426,27.91759,-1.6220716,-0.082716,0.809359,0.578657,-3.1411927,-0.93373865,-0.31124622,-0.35992432,0.33746338,-0.79608154,dancing +0.5793968,1.2126632,-4.6244006,-0.030779,0.801127,0.590978,-3.1411927,-0.93373865,-0.31124622,-0.35992432,0.33746338,-0.79608154,dancing +0.48123455,35.582626,-8.6299,0.514118,0.515082,0.556824,1.2880806,3.8355112,2.3894134,-0.4446411,-0.15338135,-0.85528564,dancing +3.2692823,-1.8004397,-0.7769185,0.514916,0.374323,0.534814,-2.9400797,-4.3047748,-3.7732618,-0.40649414,-0.029296875,-0.8713379,dancing +2.4863784,-4.0258503,0.1352724,0.543841,-0.486144,-0.546646,-12.861651,-5.33907,-3.265691,-0.34906006,0.54486084,-0.69177246,dancing +0.39145198,8.514978,-7.3430166,0.520221,-0.546999,-0.566261,-10.213664,-8.327033,1.3072342,-0.07220459,0.12145996,-0.6904297,dancing +-4.309563,26.964697,-0.6811504,0.555781,-0.51674,-0.545712,-7.431602,3.940856,14.346057,-0.18426514,0.19262695,-0.8668823,dancing +-5.368997,26.76957,-7.6746135,0.573843,-0.547145,-0.523433,-12.871228,-8.714894,10.793061,-0.087768555,0.31750488,-0.8586426,dancing +-3.2513258,10.072407,-9.166202,0.561235,-0.526834,-0.535287,-7.393295,-1.9249382,-6.129156,-0.55218506,0.30267334,-0.60998535,dancing +-1.0989386,8.825027,-1.2078748,0.494579,-0.582964,-0.569548,-7.393295,-1.9249382,-6.129156,-0.55218506,0.30267334,-0.60998535,dancing +-1.4999673,9.7803135,-5.5521536,0.461249,-0.606122,-0.597372,-7.393295,-1.9249382,-6.129156,-0.55218506,0.30267334,-0.60998535,dancing +-4.3993454,13.245921,-4.8722005,0.505116,-0.582591,-0.566936,-8.111555,-4.3718123,-3.0789435,-0.10809326,0.3184204,-0.6734009,dancing +-2.7748797,12.2080345,-7.835025,0.412957,-0.585669,-0.636403,-8.111555,-4.3718123,-3.0789435,-0.10809326,0.3184204,-0.6734009,dancing +-0.9995792,16.71871,-6.7013707,0.363318,-0.656258,-0.61907,-8.111555,-4.3718123,-3.0789435,-0.10809326,0.3184204,-0.6734009,dancing +-6.169858,26.574442,-2.6120741,0.446443,0.638707,0.565161,-25.617958,-7.728483,6.229713,-0.18395996,0.6801758,0.0079956055,dancing +3.4823663,-2.4756045,-2.802413,0.631561,0.453375,0.3784,5.9807158,-0.56982,6.612785,-0.5132446,0.11016846,-0.84606934,dancing +0.19632454,-0.35913026,1.483208,0.637244,0.476061,0.351114,-2.7341783,1.8435353,-4.3526587,-0.50219727,0.082214355,-0.8566284,dancing +3.6008794,5.6778493,-4.009091,0.637278,0.483459,0.382699,-13.038822,-9.873688,3.86903,-0.30413818,0.54803467,-0.48510742,dancing +2.6862943,2.0003555,-2.4121583,0.420848,-0.549301,-0.628842,5.559336,-8.508993,7.0581064,0.47381592,0.25909424,-0.46484375,dancing +-0.12449849,25.859772,-6.409278,0.444236,0.699106,0.454563,-8.408437,-7.28795,-3.0933087,0.8930054,0.19561768,-0.31585693,dancing +1.4915876,3.345897,3.9971197,0.471195,0.545347,0.476621,-8.408437,-7.28795,-3.0933087,0.8930054,0.19561768,-0.31585693,dancing +-6.293159,17.597382,-3.558981,0.51224,0.55481,0.428982,-5.2241483,-10.91756,-4.7884035,0.8930054,0.19561768,-0.31585693,dancing +-0.9816227,8.230068,-5.3127337,0.362911,-0.699678,-0.583309,-17.152061,-12.521675,1.9201498,0.5169678,-0.24389648,-0.71276855,dancing +1.5526398,8.35337,-1.8387469,0.421293,-0.607088,-0.605932,-6.4978633,8.327033,3.86903,0.9624634,-0.013122559,-0.2140503,dancing +2.8167782,9.326612,-3.752911,0.216582,0.808251,0.528818,-11.228806,-10.730812,-6.2967505,0.8629761,-0.12542725,-0.012512207,dancing +-3.5003228,9.1255,0.077811554,0.340029,0.607215,0.516562,-1.661576,5.559336,9.792285,0.6323242,0.07775879,-0.52948,dancing +-6.82946,7.5082164,3.2094274,0.311356,0.579539,0.380038,-12.976573,-3.0597897,-3.596091,0.7932739,-0.4605713,0.19799805,dancing +-6.5565214,5.717354,5.6658783,0.185591,0.464146,0.413321,-20.580557,3.8498764,-0.4261679,0.7647095,-0.4713745,0.23999023,dancing +-0.093373865,5.5102553,6.8689647,0.253226,0.141213,0.429836,-22.682667,-7.1059904,-6.631939,0.83862305,-0.53723145,-0.048095703,dancing +-0.02873042,5.6898203,7.9870567,0.261946,0.140491,0.440384,-14.781801,4.036624,3.1603463,0.82159424,-0.46600342,-0.3283081,dancing +0.9911995,5.329493,7.752425,0.259802,0.132426,0.445474,-9.816227,8.015787,-11.880029,0.41210938,0.028564453,-0.8978882,dancing +0.9911995,5.329493,7.752425,0.259802,0.132426,0.445474,35.975273,-13.852851,-0.81881696,0.15344238,0.34429932,-0.8980713,dancing +1.8866309,5.0721164,7.60997,0.258374,0.13855,0.457876,-4.343082,6.9623384,-5.425261,0.5442505,-0.30700684,-0.7702637,dancing +1.8866309,5.0721164,7.60997,0.258374,0.13855,0.457876,-4.43885,-6.0285997,-7.4842744,0.62213135,-0.49639893,-0.57073975,dancing +1.8866309,5.0721164,7.60997,0.258374,0.13855,0.457876,-2.858677,-5.7987566,-6.8091097,-0.5181885,-0.24584961,-0.33776855,dancing +1.2940661,5.0960584,7.704541,0.252565,0.146955,0.465843,-10.146626,-0.56982,1.8195933,-0.29083252,-0.015625,-0.39385986,dancing +1.2940661,5.0960584,7.704541,0.252565,0.146955,0.465843,-14.130578,-14.020445,5.544971,0.028686523,0.005493164,-0.94610596,dancing +1.2940661,5.0960584,7.704541,0.252565,0.146955,0.465843,-0.62728083,-1.0390835,-0.6464345,0.01763916,-0.029052734,-0.96429443,dancing +-0.62129533,5.445612,8.038532,0.246227,0.138322,0.452051,0.5554548,1.5275006,-4.2185836,-0.27026367,-0.5075073,-0.7207031,dancing +-0.62129533,5.445612,8.038532,0.246227,0.138322,0.452051,-10.429143,-2.0685902,-4.7788267,-0.1798706,-0.34783936,-0.91845703,dancing +-0.62129533,5.445612,8.038532,0.246227,0.138322,0.452051,-34.993652,-0.6607997,-3.3566709,0.14996338,0.07019043,-0.5793457,dancing +-1.2545617,2.8526914,9.387665,0.200543,0.135893,0.410051,-9.988609,-5.473145,0.2633622,-0.07659912,0.23321533,-0.5091553,dancing +-1.2545617,2.8526914,9.387665,0.200543,0.135893,0.410051,-37.52193,11.377247,0.0,-0.5796509,0.2685547,-0.3302002,dancing +-5.3486466,4.1635165,10.986992,0.177058,0.151285,0.376394,-26.522966,11.042058,6.775591,0.3161621,-0.24066162,-0.6817627,dancing +-1.3850456,4.0773253,9.271546,0.181064,0.078282,0.317588,-7.153875,-4.6782703,-3.3279405,-0.6854248,-0.4020996,-0.6055298,dancing +0.19871874,2.9364884,9.163807,0.182012,0.063067,0.334532,-7.153875,-4.6782703,-3.3279405,-0.6854248,-0.4020996,-0.6055298,dancing +-0.45609543,3.3566709,8.334216,0.185752,0.072793,0.364497,7.4268136,-4.3957543,-0.2825158,-0.49023438,-0.60131836,-0.59381104,dancing +-0.82480246,4.06296,9.226056,0.163756,0.171797,0.438793,-23.266851,-6.7947445,-24.181437,-0.19897461,-0.46099854,-0.64434814,dancing +-0.7733272,3.810372,8.857349,0.150553,0.173511,0.465805,-23.266851,-6.7947445,-24.181437,0.10510254,-0.565979,-0.81585693,dancing +-1.3467385,4.226963,8.487445,0.144853,0.167943,0.469881,-12.722788,-11.554418,-6.4499793,-0.34527588,-0.11248779,-0.9309082,dancing +-1.2916719,3.9552212,8.185776,0.129444,0.189504,0.47238,-12.722788,-11.554418,-6.4499793,-0.34527588,-0.11248779,-0.9309082,dancing +-2.1428106,1.1192893,8.376115,0.081862,0.190805,0.454552,-7.517793,-6.2249246,-12.588713,-0.43927002,-0.20568848,-0.8723755,dancing +-0.545878,2.268506,8.230068,0.064164,0.196495,0.435339,-16.213533,-18.239029,29.783869,0.4555664,-0.20837402,-0.8644409,dancing +-0.545878,1.7525556,6.8557963,0.108653,0.169757,0.457975,-16.213533,-18.239029,29.783869,0.4555664,-0.20837402,-0.8644409,dancing +-1.0031705,1.6496049,9.600749,0.164427,0.091194,0.481398,-4.783615,-2.2649148,-5.7843914,-0.09460449,-0.28289795,-0.9168701,dancing +0.58298814,2.610877,9.801862,0.177686,0.056519,0.443821,-16.146496,-38.264133,21.619642,0.28320312,-0.12322998,-0.92407227,dancing +0.7769185,2.5558102,9.7084875,0.177548,0.021465,0.421464,-12.976573,-2.2361844,-12.0093155,0.24395752,-0.09832764,-0.9067383,dancing +0.61411273,2.8203697,8.512584,0.175761,-0.006402,0.396688,-10.658986,-23.669079,12.938266,0.8140869,-0.20648193,-0.49694824,dancing +0.7015011,3.028665,8.292317,0.193947,-0.012867,0.351924,-19.780895,-32.307358,25.005043,0.87231445,-0.18859863,-0.38006592,dancing +1.6591818,3.040636,9.016563,0.183839,-0.017427,0.343706,-5.2145715,1.3455414,1.7286136,0.74017334,0.33502197,-0.05407715,dancing +1.7705121,3.335123,9.296685,0.17411,-0.021688,0.338191,-19.9437,-57.436897,13.22557,0.94873047,0.014221191,-0.25457764,dancing +0.9959879,3.321955,9.203311,0.169907,-0.021603,0.328727,-23.841461,-51.566315,18.727446,0.9489746,0.04437256,-0.17047119,dancing +1.7908629,3.2860417,9.175778,0.162457,-0.019116,0.328205,-3.1364043,1.7669208,1.1444284,0.7150879,0.40179443,-0.17193604,dancing +2.0590134,2.219425,8.789114,0.154137,-0.02028,0.338588,-3.7972038,-0.9911995,-0.37349546,0.65319824,0.4500122,-0.2597046,dancing +0.8834604,3.1136594,9.155427,0.136216,-0.019107,0.313152,-2.2984335,-5.6551046,-9.524135,0.5107422,0.5120239,-0.46636963,dancing +1.0163386,1.8854338,9.555259,0.120914,-0.030812,0.298579,-9.691729,-5.554548,1.1013328,0.91864014,-0.030639648,-0.012817383,dancing +1.0079589,1.8100165,9.533711,0.108573,-0.041892,0.286177,-8.992621,-5.602432,2.6862943,0.92559814,-0.26239014,0.014038086,dancing +1.0079589,1.8100165,9.533711,0.108573,-0.041892,0.286177,-1.0295067,-0.34955344,1.1971009,0.6725464,0.17822266,-0.704895,dancing +2.078167,1.0642227,9.43914,0.085724,-0.074001,0.251005,9.251195,8.858546,-6.493075,0.43548584,0.62939453,-0.42596436,dancing +1.7956513,1.4999673,9.661801,0.085047,-0.07941,0.249626,5.9807158,34.648888,20.09214,0.48736572,0.45159912,-0.29840088,dancing +1.8686744,1.7956513,9.903615,0.095007,-0.076599,0.250747,-0.866701,13.9438305,13.512875,0.51031494,0.40283203,-0.38781738,dancing +1.8686744,1.7956513,9.903615,0.095007,-0.076599,0.250747,7.029376,38.16836,8.255207,0.237854,0.40441895,-0.4666748,dancing +1.4401124,1.9476831,8.74123,0.11099,-0.061563,0.259082,7.029376,38.16836,8.255207,0.237854,0.40441895,-0.4666748,dancing +1.4401124,1.9476831,8.74123,0.11099,-0.061563,0.259082,-8.350976,25.033773,8.178593,0.13439941,-0.10437012,-0.6239624,dancing +1.4401124,1.9476831,8.74123,0.11099,-0.061563,0.259082,-26.072857,-32.71437,26.508602,0.095703125,-0.4041748,-0.8901367,dancing +1.9632454,2.018312,8.313866,0.127513,-0.038076,0.259911,-23.611618,-39.442078,9.32781,-0.39178467,-0.1159668,-0.7161865,dancing +1.9632454,2.018312,8.313866,0.127513,-0.038076,0.259911,5.085284,-2.5713725,-2.0254946,-0.26672363,-0.5751343,-0.7036743,dancing +0.60932434,3.0681696,9.052477,0.131991,-0.040674,0.246552,5.085284,-2.5713725,-2.0254946,-0.26672363,-0.5751343,-0.7036743,dancing +0.60932434,3.0681696,9.052477,0.131991,-0.040674,0.246552,20.03468,24.880545,20.781672,-0.01727295,-0.61883545,-0.5725708,dancing +0.60932434,3.0681696,9.052477,0.131991,-0.040674,0.246552,-30.391996,-23.621195,-8.815451,-0.819397,-0.37023926,-0.4265747,dancing +1.2485762,2.5833437,10.242394,0.133648,-0.039705,0.240514,9.193734,17.228676,13.867216,-0.18328857,-0.8397827,-0.44335938,dancing +0.5279215,3.6966474,8.180987,0.131563,-0.038393,0.260185,-18.928558,0.9816227,5.1235914,-0.37872314,-0.8082886,-0.45074463,dancing +-0.18435353,2.6312277,10.752359,0.129343,-0.058427,0.246766,45.80108,30.669724,5.133168,0.066223145,0.19677734,-0.58691406,dancing +0.36750996,4.045004,7.961918,0.157725,-0.01845,0.269816,45.844173,29.257145,1.8291701,0.068725586,0.21868896,-0.59124756,dancing +0.89303726,4.1742907,7.603985,0.205324,0.023198,0.278158,45.844173,29.257145,1.8291701,0.068725586,0.21868896,-0.59124756,dancing +0.019153614,5.0374002,8.525752,0.219525,-0.022294,0.221374,32.407913,17.774553,0.2873042,0.125,0.24633789,-0.6143799,dancing +-0.4321534,5.793968,7.854179,0.229523,-0.022137,0.194461,-23.54458,-8.623915,-1.9488802,0.27172852,-0.0010375977,-0.82891846,dancing +-1.6292542,6.754043,9.066842,0.263673,0.048986,0.172589,-15.016433,-1.8914193,3.739743,0.65216064,0.24005127,-0.44763184,dancing +-0.49081135,6.030994,9.817424,0.268913,0.07796,0.179818,24.837448,30.837318,16.112978,0.5783081,0.38201904,-0.30615234,dancing +-0.08619126,6.1100025,6.56131,0.310198,0.037761,0.16616,-15.275007,-3.122039,10.601525,0.023925781,-0.6676636,-0.72424316,dancing +-0.6847417,6.6079965,6.578069,0.332459,0.024177,0.126753,-32.752678,-1.6807296,-7.240066,-0.11669922,-0.29608154,-0.92437744,dancing +-0.89543146,7.0724716,7.289147,0.337729,0.014951,0.078682,22.060175,6.6606693,-5.391742,-0.2277832,-0.43133545,-0.788147,dancing +-0.5506664,6.6427126,6.7947445,0.340486,0.011528,0.070576,0.5315128,3.3087866,12.061988,0.1798706,-0.7470093,-0.63500977,dancing +-0.037110128,6.4739213,6.2644286,0.353686,0.004541,0.061581,1.0151415,1.2737153,8.805874,0.074279785,-0.78570557,-0.5996704,dancing +-0.6871359,6.7348895,6.752846,0.355992,0.006114,0.028282,0.9864111,-0.4357447,7.675811,-0.029907227,0.05633545,-0.97631836,dancing +0.7781156,0.62608373,13.4422455,0.109537,-0.017382,0.502022,7.422025,5.7508726,-0.4357447,0.4711914,0.31848145,-0.57958984,lying +1.067814,1.0450691,9.329007,0.069728,-0.027419,0.479298,3.1794999,-4.5298295,2.336741,0.93481445,0.28710938,-0.050476074,lying +1.0295067,0.93732995,9.343372,0.069772,-0.027098,0.478409,-0.63206923,-10.333375,0.6607997,0.8916626,0.05255127,0.02935791,lying +1.0905589,0.89423436,9.528923,0.068825,-0.027936,0.478198,-0.8714894,-10.299856,1.0965444,0.6711426,0.023498535,-0.107910156,lying +-0.034715924,0.8750807,9.471462,0.050216,-0.022737,0.47624,2.303222,-10.812215,0.8283938,0.6668091,0.022766113,-0.10839844,lying +0.92775315,0.82360536,9.508572,0.100342,-0.034871,0.493959,7.551312,-8.355764,7.1059904,0.5140381,0.25543213,0.29107666,lying +1.2150574,1.0666169,9.757569,0.079846,-0.02702,0.486489,7.1873937,-2.1691468,2.6479871,0.5656128,0.23803711,0.42132568,lying +1.270124,1.2413936,9.423578,0.085681,-0.033578,0.482435,7.3549876,-10.132261,-3.572149,0.71087646,0.12390137,0.34332275,lying +1.2354081,1.1647792,9.36492,0.085307,-0.034933,0.482168,5.3007627,-7.0245876,4.0174704,0.5527344,0.15118408,0.33569336,lying +1.7525556,2.005144,6.588843,0.082507,-0.001699,0.511765,4.232949,-7.5225816,-2.9161377,0.67077637,0.40789795,0.21044922,lying +1.922544,1.2425907,8.761581,0.066092,-0.016159,0.517305,4.232949,-7.5225816,-2.9161377,0.67077637,0.40789795,0.21044922,lying +0.3172317,-0.41060558,10.044873,0.033376,-0.008348,0.513688,9.457097,-10.299856,-5.3725886,0.67077637,0.40789795,0.21044922,lying +-13.785813,-1.9165585,7.9930425,-0.248631,0.355075,0.407095,9.457097,-10.299856,-5.3725886,0.6039429,0.4309082,0.3334961,lying +-5.4061074,-0.47046062,8.224083,-0.137367,0.24702,0.442219,6.114791,-10.481815,-3.371036,0.6013794,0.335083,0.20037842,lying +-5.3881507,0.25378537,7.69257,-0.122974,0.247411,0.439031,4.9224787,-10.601525,-4.927267,0.7946167,0.35272217,0.16192627,lying +-2.2158337,-1.5490485,8.249222,-0.039781,-0.0025,0.49737,2.777274,-2.4756045,-0.7422025,0.48950195,0.41723633,0.2475586,lying +0.89303726,1.6603789,11.309011,0.043675,0.021625,0.501122,12.181698,-3.7588966,2.3319526,0.41363525,0.42785645,0.15966797,lying +4.092888,0.6548142,11.572374,0.148896,-0.06608,0.423493,3.6535518,-9.174581,0.5410896,0.56378174,0.13085938,0.08392334,lying +4.9524064,2.9053638,6.775591,0.157319,-0.08853,0.485426,-2.72939,0.1436521,9.14585,0.115478516,-0.1104126,0.04650879,lying +1.3611037,0.36511576,10.160992,0.109675,-0.119889,0.537302,-0.08619126,-4.8602295,7.5082164,0.2835083,-0.10949707,0.026611328,lying +2.542642,0.48123455,8.775947,0.090738,-0.064833,0.538508,-0.08619126,-4.8602295,7.5082164,0.2835083,-0.10949707,0.026611328,lying +1.2354081,0.8331822,9.369708,0.062437,-0.030422,0.540841,-1.0390835,-6.1387334,7.335834,0.31292725,-0.050720215,0.061523438,lying +1.0007763,0.8702923,9.41041,0.061722,-0.018469,0.540189,0.8619126,-6.4068837,7.651869,0.3065796,-0.026733398,0.085876465,lying +0.9828198,0.91578215,9.32781,0.062559,-0.016057,0.539085,0.20111294,-5.78918,8.279149,0.272583,-0.02557373,0.08099365,lying +0.90381116,0.6631939,9.522937,0.055965,-0.027886,0.536139,4.7979803,-7.6135616,-7.8912888,0.7335205,0.4847412,0.1340332,lying +0.8319851,0.81881696,9.482236,0.052538,-0.025674,0.535042,4.7979803,-7.6135616,-7.8912888,0.7335205,0.4847412,0.1340332,lying +1.1707647,0.78769237,9.234436,0.057437,-0.030304,0.535808,5.386954,-8.183381,7.2592196,0.39520264,0.2668457,-0.05029297,lying +0.6332663,0.7541735,9.598354,0.056614,-0.028472,0.536826,5.386954,-8.183381,7.2592196,0.39520264,0.2668457,-0.05029297,lying +0.8583213,0.58777654,9.500193,0.049152,-0.024994,0.538068,2.5187001,-0.8475474,8.42759,0.24157715,0.23150635,0.036376953,lying +0.8858546,0.60573304,9.479841,0.049036,-0.024114,0.53807,5.707777,-8.652645,7.651869,0.3416748,0.26013184,0.0068359375,lying +0.8595184,0.6572084,9.441534,0.053508,-0.021819,0.538046,5.080496,-7.192182,5.2959743,0.38079834,0.28118896,0.014709473,lying +0.81163436,0.63087213,9.417592,0.049244,-0.020966,0.538258,5.171476,-7.345411,5.0613422,0.39465332,0.28356934,0.016540527,lying +0.80445176,0.676362,9.507375,0.052132,-0.025991,0.537735,5.171476,-7.345411,5.0613422,0.39465332,0.28356934,0.016540527,lying +3.705027,6.211756,6.081272,0.356814,0.06642,0.569911,-0.92416185,-2.384625,8.930372,0.019104004,-0.083984375,0.032104492,lying +-1.7429788,9.594764,-3.9264908,0.599053,0.489213,0.356771,-1.6376339,-0.521936,9.011775,-0.09851074,-0.09906006,0.01361084,lying +1.804031,6.775591,6.495469,0.358314,0.125564,0.496893,3.98874,4.213795,7.2113357,-0.4078369,0.07171631,-0.27856445,getting up +0.7565677,7.321469,5.853823,0.385424,0.166314,0.485998,3.98874,4.213795,7.2113357,-0.4078369,0.07171631,-0.27856445,getting up +-0.51116204,11.372458,-1.721431,0.551661,0.315508,0.400456,-1.1779473,-12.981361,-1.2737153,-0.008178711,0.651001,-0.75683594,getting up +-0.044292733,10.01734,-2.3319526,0.60771,0.386845,0.366552,-1.1779473,-12.981361,-1.2737153,-0.008178711,0.651001,-0.75683594,getting up +0.047884032,8.288726,-5.097255,0.667071,0.518986,0.325706,-3.53863,-9.212888,-1.733402,0.11566162,0.6757202,-0.7201538,getting up +0.78170687,7.4375877,-7.711724,0.729606,0.524644,0.281481,-3.145981,-9.653421,-1.0965444,0.10369873,0.6723633,-0.72540283,getting up +0.7314286,7.952341,-6.0800753,0.724444,0.514214,0.306981,-3.0550013,-9.308656,-0.047884032,0.10662842,0.6362915,-0.7576904,getting up +1.0642227,7.839813,-6.0585275,0.719183,0.510162,0.315935,-2.5474305,-8.580819,1.4460979,0.10662842,0.6362915,-0.7576904,getting up +1.1563994,9.003395,-4.086902,0.679054,0.488935,0.36551,-5.329493,-8.010999,1.3072342,0.25878906,0.5993042,-0.74658203,getting up +0.8678981,9.075222,-4.358644,0.679095,0.478453,0.368605,-6.373365,-9.217676,-0.641646,0.34362793,0.61724854,-0.6595459,getting up +-2.4013844,9.002198,1.472434,0.471214,0.442282,0.390479,-2.6862943,-0.79487497,9.212888,0.1642456,-0.03149414,-0.97473145,getting up +-1.9596541,7.3849154,5.662287,0.318185,0.351412,0.431604,-2.6862943,-0.79487497,9.212888,0.1642456,-0.03149414,-0.97473145,getting up +-2.5067291,5.7748146,6.3793507,0.250726,0.297848,0.445006,-2.6862943,-0.79487497,9.212888,0.1642456,-0.03149414,-0.97473145,getting up +-2.6048915,4.1706996,7.156269,0.175619,0.239031,0.455325,-2.8921957,-1.3838485,8.954314,0.16912842,-0.022399902,-0.97161865,getting up +0.45250413,1.0618285,9.482236,0.053052,0.00286,0.452231,-2.9017725,-1.1971009,9.222465,0.16912842,-0.022399902,-0.97161865,getting up +-3.9755719,2.445677,9.829395,0.087005,0.11265,0.448801,5.803545,7.3645644,-2.0638018,0.168396,-0.022338867,-0.97283936,getting up +-0.80924016,8.744822,4.5801077,0.408321,0.294136,0.43778,-4.453215,4.960786,12.354081,0.12347412,0.13775635,-0.7609863,getting up +-0.2837129,9.783905,-1.5370775,0.612064,0.41741,0.367859,-7.9152308,-8.145074,4.3861775,0.029846191,0.517395,-0.6730957,getting up +-0.5303157,9.660604,-2.7928362,0.650772,0.436042,0.332186,-4.2281604,-7.627927,5.985504,-0.20056152,0.18762207,-0.91448975,getting up +-0.39743748,9.652225,-2.8491,0.664107,0.438354,0.320754,-4.501099,-3.083732,7.6375036,0.20495605,0.15795898,-0.8401489,getting up +0.7015011,1.0821792,9.532514,0.069863,-0.014044,0.437128,7.9487495,5.315128,1.2210429,-0.3390503,-0.5656738,-0.69989014,getting up +0.7529764,1.0666169,9.522937,0.06915,-0.014728,0.43757,7.9487495,5.315128,1.2210429,-0.3390503,-0.5656738,-0.69989014,getting up +0.7410054,1.009156,9.451111,0.066262,-0.016157,0.437731,7.9487495,5.315128,1.2210429,-0.3390503,-0.5656738,-0.69989014,getting up +0.7098808,0.9576807,9.455899,0.064499,-0.017663,0.438077,7.9487495,5.315128,1.2210429,-0.3390503,-0.5656738,-0.69989014,getting up +0.5303157,1.0199299,9.560047,0.05964,-0.007167,0.445017,7.9487495,5.315128,1.2210429,-0.3390503,-0.5656738,-0.69989014,getting up +0.34835634,1.0175357,9.540894,0.058427,-0.005304,0.452726,7.9487495,5.315128,1.2210429,-0.3390503,-0.5656738,-0.69989014,getting up +0.36990416,1.4556746,9.358934,0.068614,9.66E-4,0.45346,7.9487495,5.315128,1.2210429,-0.3390503,-0.5656738,-0.69989014,getting up +-3.9025488,2.3906105,9.835381,0.101116,0.100239,0.436387,6.133945,7.4603324,-3.016694,-0.36853027,-0.63287354,-0.65545654,getting up +-3.429694,4.3658266,7.8745294,0.185402,0.204235,0.42461,6.133945,7.4603324,-3.016694,-0.36853027,-0.63287354,-0.65545654,getting up +-1.4915876,8.674192,3.9240966,0.436043,0.334635,0.423488,4.6351743,2.801216,8.925584,-0.08874512,-0.20245361,-0.798584,getting up +-0.5590461,9.657013,-3.466804,0.654102,0.438002,0.32678,1.7190368,2.2984335,11.48738,-0.023803711,-0.11303711,-0.7922363,getting up +-0.33159694,9.408015,-3.0083144,0.660632,0.438496,0.323987,2.906561,3.3806129,0.33997664,-0.20080566,0.13085938,-0.74224854,getting up +-0.6536171,9.713276,-2.019509,0.63986,0.431322,0.337232,2.906561,3.3806129,0.33997664,-0.20080566,0.13085938,-0.74224854,getting up +-0.45729253,9.628283,-1.7154455,0.625291,0.423314,0.346692,-1.9440918,-6.301539,4.903325,-0.27905273,0.54156494,-0.5644531,getting up +-0.80325466,9.676167,-2.147599,0.638433,0.440608,0.326434,-3.3135753,-11.650186,2.767697,-0.23632812,0.56103516,-0.60369873,getting up +-3.4584243,5.5629277,-11.432313,0.745335,0.555948,0.158843,-0.0047884034,-0.61291564,8.322245,0.028930664,0.048828125,-0.90875244,getting up +-0.60214174,8.731653,-8.986636,0.759024,0.528473,0.211023,6.4739213,-7.015011,4.381389,-0.38146973,0.55023193,-0.72198486,getting up +-0.049081136,6.603208,-4.7500963,0.72917,0.473651,0.244622,3.739743,-5.8945246,4.2904096,-0.25476074,0.4000244,-0.8187866,getting up +-1.0139444,9.616311,-1.3455414,0.607241,0.431619,0.333201,-7.9583263,-5.032612,4.429273,-0.119628906,0.545105,-0.7716675,getting up +-1.3491327,9.82341,0.17118542,0.58999,0.368623,0.30736,1.685518,-2.1308396,8.585608,-0.038757324,0.05456543,-0.86224365,getting up +-0.08140286,9.385271,-1.4616601,0.587527,0.42082,0.374104,-3.8402996,-7.302315,12.708423,-0.038757324,0.05456543,-0.86224365,getting up +-1.2988545,10.250774,-1.210269,0.163023,0.730719,0.622134,2.2601264,-0.7517793,8.925584,-0.019226074,0.094055176,-0.84399414,getting up +-0.35553896,9.932345,-2.2984335,-0.051033,0.758208,0.649904,2.2601264,-0.7517793,8.925584,-0.06555176,-0.16235352,-0.87646484,getting up +0.05865794,9.607931,-1.271321,0.13732,-0.719487,-0.673311,2.8778305,2.8682537,8.465898,-0.018066406,-0.31695557,-0.8586426,getting up +-1.4891934,9.762358,-1.8303672,0.207792,-0.719784,-0.65417,3.3518825,3.2944214,8.66701,-0.045776367,-0.32348633,-0.86376953,getting up +-1.3144168,9.7563715,-1.3431472,0.206839,-0.717338,-0.655592,3.3518825,3.2944214,8.66701,-0.045776367,-0.32348633,-0.86376953,getting up +-1.2401965,9.7803135,-1.292869,0.21009,-0.716625,-0.654731,-9.409213,-2.4851813,-0.48362875,-0.63067627,0.35913086,0.52178955,getting up +-1.2162545,9.840169,-1.2425907,0.210742,-0.71313,-0.657956,-9.409213,-2.4851813,-0.48362875,-0.63067627,0.35913086,0.52178955,getting up +-1.2378023,9.872491,-1.1935096,0.211178,-0.709722,-0.661237,-9.409213,-2.4851813,-0.48362875,-0.63067627,0.35913086,0.52178955,getting up +-1.198298,9.781511,-1.0151415,0.211256,-0.708644,-0.662221,-9.409213,-2.4851813,-0.48362875,-0.63067627,0.35913086,0.52178955,getting up +-1.1911154,9.720459,-1.0055647,0.211676,-0.706189,-0.66437,-9.409213,-2.4851813,-0.48362875,-0.63067627,0.35913086,0.52178955,getting up +-1.1671734,9.870096,-1.151611,0.211967,-0.708288,-0.662024,-9.409213,-2.4851813,-0.48362875,-0.63067627,0.35913086,0.52178955,getting up +-1.2114661,9.759963,-1.0977415,0.212862,-0.708956,-0.660991,-9.409213,-2.4851813,-0.48362875,-0.63067627,0.35913086,0.52178955,getting up +0.7146692,1.3934253,9.340978,0.089651,-0.00312,0.417283,3.9743748,7.73806,5.6407394,-0.67645264,0.33605957,0.5355835,getting up +0.82599956,1.3455414,9.48463,0.087991,-0.00456,0.416977,2.0973208,1.4173675,8.949526,-0.79937744,0.18200684,0.55792236,getting up +0.6584055,1.5945383,9.496601,0.092038,-0.00257,0.416586,2.0973208,1.4173675,8.949526,-0.79937744,0.18200684,0.55792236,getting up +1.328782,2.9963434,11.656171,0.148971,0.007997,0.423309,2.2170308,2.15957,9.174581,0.1026001,0.14648438,0.9837036,getting up +-1.3611037,8.628703,4.1359835,0.438745,0.229936,0.319773,-15.069105,-25.7664,2.0350714,0.08215332,-0.4119873,0.8272705,getting up +-4.045004,9.002198,1.3275849,0.491764,0.397139,0.263512,-8.968679,-22.567745,0.92895025,0.09820557,-0.48492432,0.78845215,getting up +-3.3542767,9.003395,-1.6184803,0.529851,0.51857,0.276504,-4.903325,-7.61835,-3.098097,0.045166016,-0.80059814,0.5270996,getting up +-2.5366566,8.859743,-3.7912183,0.545344,0.563223,0.349472,-4.903325,-7.61835,-3.098097,0.045166016,-0.80059814,0.5270996,getting up +0.29448682,9.293094,-4.8973393,0.629883,0.535572,0.366506,-5.2049947,-5.9663506,-2.0398598,-0.012268066,-0.8010864,0.5418701,getting up +-1.6484078,8.002619,-5.0182467,0.607939,0.6292,0.303782,-7.469909,-6.4068837,-0.17717093,0.066833496,-0.6807251,0.3007202,getting up +-1.3563153,8.2037325,-2.079364,0.538547,0.561007,0.388253,-9.849746,-6.0046577,0.34955344,-0.057861328,-0.68237305,0.25274658,getting up +-0.04070143,9.927557,-1.5753847,0.626124,0.426154,0.347018,-6.861782,-8.949526,5.659893,-0.11682129,-0.40185547,0.8427124,getting up +-0.5554548,9.822212,-1.6783354,0.614296,0.428075,0.354046,2.873042,2.6288335,8.350976,0.057556152,0.1303711,0.98083496,getting up +-1.246182,9.847352,-0.5434838,0.587803,0.410959,0.341078,4.5537715,2.3463178,8.1642275,0.12390137,0.16320801,0.9719238,getting up +-2.15957,7.85777,-7.620744,0.764364,0.48603,0.164172,2.5713725,2.944868,8.844181,0.112854004,0.21234131,0.96325684,getting up +-0.81761986,8.972271,-1.769315,0.650518,0.397484,0.293039,-2.4516625,-0.92416185,9.734824,0.018554688,-0.036621094,0.70654297,getting up +-0.9876082,9.7240505,-0.521936,0.597225,0.390318,0.332846,-5.544971,-4.975151,7.40766,-6.1035156E-5,-0.12957764,0.6951904,getting up +-2.8311436,9.345766,-1.7788919,0.323092,-0.672183,-0.643092,-11.932701,-2.930503,0.7613561,0.37469482,-0.60479736,-0.35321045,getting up +0.5674258,10.207679,1.5729905,0.26551,-0.69882,-0.653699,-11.932701,-2.930503,0.7613561,0.37469482,-0.60479736,-0.35321045,getting up +-2.825158,9.901221,-6.5708866,0.212012,-0.720192,-0.656629,-11.932701,-2.930503,0.7613561,0.37469482,-0.60479736,-0.35321045,getting up +-5.1116204,7.4148426,-0.60573304,0.216464,-0.724514,-0.648422,-11.932701,-2.930503,0.7613561,0.37469482,-0.60479736,-0.35321045,getting up +0.051475335,9.0476885,3.6942532,0.524853,0.176888,0.27445,3.8833952,-8.441956,4.7165775,0.5126953,-0.41912842,-0.5494385,reading +0.12808979,8.9842415,3.7900212,0.523027,0.174178,0.273199,4.951209,-9.241618,-6.885724,0.6368408,0.5133667,-0.082336426,reading +0.06703765,8.965088,3.6499605,0.523948,0.172769,0.272169,4.951209,-9.241618,-6.885724,0.6368408,0.5133667,-0.082336426,reading +0.045489833,9.010578,3.8175547,0.523228,0.172727,0.271831,4.7500963,-8.7053175,1.0869676,0.46624756,0.45837402,-0.20721436,reading +0.06943185,9.036914,3.776853,0.523728,0.172254,0.271803,5.779603,-8.145074,-3.6966474,0.6072998,0.5275879,-0.047851562,reading +0.034715924,9.011775,3.7122097,0.528377,0.161318,0.252932,5.9902925,-8.240842,-4.7548847,0.65093994,0.5335083,-0.018737793,reading +0.06943185,9.009381,3.7313633,0.503882,0.228535,0.357397,5.2720323,-7.6949644,2.767697,0.4074707,0.42651367,-0.20239258,reading +0.22505496,8.893262,3.8031895,0.482578,0.25763,0.418032,5.497087,-9.639056,-2.5713725,0.5736084,0.5039673,-0.097229004,reading +0.1352724,9.010578,3.8295257,0.483855,0.259558,0.416577,6.6846113,-6.6893997,-2.1643584,0.4557495,0.62420654,-0.16363525,reading +0.08020575,8.9842415,3.7900212,0.483776,0.261572,0.41761,6.0621185,-7.0006456,-4.0701427,0.4835205,0.66693115,-0.14245605,reading +0.016759412,8.956709,3.9025488,0.489382,0.264482,0.413744,6.3685765,-7.1634517,-3.9983168,0.4979248,0.6590576,-0.14666748,reading +0.46447513,9.993398,2.9735985,0.565463,0.263197,0.325919,5.415684,-7.6614456,-5.0182467,0.5946655,0.635437,-0.07513428,reading +0.19153613,8.400057,4.8973393,0.455782,0.198238,0.385135,6.114791,-7.7332716,-2.906561,0.51586914,0.62298584,-0.12536621,reading +0.24181437,8.479065,4.8386817,0.45569,0.196415,0.383573,6.0046577,-7.6710224,-1.043872,0.4593506,0.60339355,-0.15960693,reading +0.2645593,8.3868885,4.911705,0.455563,0.195669,0.378565,6.5457473,-7.752425,-2.0733786,0.53564453,0.6374512,-0.020568848,reading +0.24899697,8.364143,4.909311,0.456406,0.195833,0.377804,6.325481,-8.528147,-1.388637,0.49041748,0.607666,-0.10461426,reading +0.25139117,8.350976,4.9464207,0.454331,0.194655,0.378158,6.483498,-8.00621,-1.2066777,0.46258545,0.5890503,-0.1472168,reading +0.23223756,8.367735,5.0254292,0.453797,0.192742,0.377,6.919243,-6.9000893,-3.5098996,0.51330566,0.6300049,-0.051452637,reading +0.44891283,8.289924,5.040992,0.468045,0.150584,0.303261,7.469909,-6.7803793,-2.7820623,0.5115967,0.6220093,-0.022644043,reading +0.31124622,8.354567,5.00867,0.475315,0.126131,0.260557,7.469909,-6.7803793,-2.7820623,0.5115967,0.6220093,-0.022644043,reading +0.557849,8.383297,5.044583,0.485259,0.081805,0.185081,7.350199,-5.674258,-2.873042,0.57373047,0.5710449,0.06640625,reading +0.45489833,8.331821,4.9404354,0.480499,0.117909,0.244601,5.257667,-9.32781,0.81402856,0.5319214,0.446167,-0.09173584,reading +0.22984336,8.49343,4.8243165,0.467962,0.167377,0.332289,5.2241483,-9.892841,-0.6655881,0.4977417,0.5111084,-0.18249512,reading +0.25857377,8.425196,4.847061,0.456957,0.186617,0.369656,5.434838,-9.241618,-0.18195933,0.4727173,0.5373535,-0.19946289,reading +0.29807812,8.499416,4.691438,0.46124,0.187768,0.361762,7.809886,-8.6334915,-1.1492168,0.44396973,0.5876465,-0.14300537,reading +0.5422867,8.53892,4.5920787,0.470563,0.186151,0.356845,5.185841,-5.363012,2.3463178,0.17828369,0.5204468,-0.12023926,reading +0.108936176,8.610746,4.4687777,0.473924,0.189529,0.353294,5.185841,-5.363012,2.3463178,0.17828369,0.5204468,-0.12023926,reading +0.41299978,8.645462,4.4005427,0.48497,0.183085,0.348634,8.2169,-6.019023,-2.432509,0.3779297,0.67663574,-0.032714844,reading +0.37588966,8.62152,4.5513773,0.483387,0.183852,0.34884,8.025364,-5.8466406,-1.0055647,0.3779297,0.67663574,-0.032714844,reading +0.2837129,8.623915,4.5441947,0.479515,0.189044,0.356414,7.704541,-6.4978633,-1.364695,0.38781738,0.64263916,-0.079833984,reading +0.35434186,8.644265,4.437653,0.475872,0.203589,0.378237,8.020576,-5.746084,-0.49320555,0.32574463,0.6552124,-0.1182251,reading +0.38307226,8.644265,4.426879,0.479259,0.193537,0.361896,8.336611,-6.0142345,-1.1875241,0.34692383,0.66522217,-0.06640625,reading +0.30885202,8.656237,4.4328647,0.480626,0.196025,0.360675,7.771579,-6.95755,-2.7629087,0.4222412,0.6610718,-0.058654785,reading +0.39743748,8.664616,4.459201,0.482108,0.190997,0.359816,7.771579,-6.95755,-2.7629087,0.4222412,0.6610718,-0.058654785,reading +0.32680854,8.652645,4.5358152,0.480967,0.191436,0.359034,8.236053,-5.1810527,-1.3311762,0.35473633,0.6616821,-0.054382324,reading +0.39983168,8.619126,4.4603977,0.480877,0.189432,0.358086,8.236053,-5.1810527,-1.3311762,0.35473633,0.6616821,-0.054382324,reading +0.31124622,8.639477,4.4675803,0.480206,0.193002,0.358359,7.824251,-4.1371803,-4.687847,0.387146,0.7139282,-0.012817383,reading +0.40462008,8.608353,4.485537,0.482988,0.190831,0.356566,7.335834,-3.4237084,-6.0525417,0.47314453,0.72094727,0.05432129,reading +0.36990416,8.639477,4.5202527,0.481752,0.190689,0.356889,7.872135,-5.00867,-4.55856,0.548645,0.7122803,0.122802734,reading +0.46088383,8.717288,4.4807487,0.481568,0.189589,0.35649,7.5465236,-6.3829417,0.18674773,0.34552002,0.6011963,-0.16253662,reading +0.4333505,8.64666,4.5513773,0.480823,0.189283,0.356862,7.5465236,-6.3829417,0.18674773,0.34552002,0.6011963,-0.16253662,reading +0.2717419,8.622718,4.423288,0.478732,0.193337,0.357637,7.038953,-7.3166804,-0.91458505,0.4180298,0.6279297,-0.11242676,reading +0.22146365,8.611943,4.453215,0.47913,0.193361,0.356561,8.24563,-5.3821654,-3.6296098,0.48815918,0.6576538,0.07128906,reading +0.21308395,8.669404,4.5238442,0.479402,0.190629,0.353405,7.7093296,-6.397307,2.030283,0.3267212,0.6272583,-0.1003418,reading +0.20470424,8.603564,4.578911,0.4785,0.190347,0.35378,8.269572,-6.301539,-1.9871874,0.36401367,0.6604614,-0.061462402,reading +0.21068975,8.65025,4.4807487,0.480444,0.185876,0.351681,8.269572,-6.301539,-1.9871874,0.36401367,0.6604614,-0.061462402,reading +0.32561144,8.652645,4.759673,0.4795,0.189287,0.35033,8.010999,-2.4229321,-1.8770541,0.19390869,0.604126,-0.1749878,reading +0.40581718,8.622718,4.4005427,0.484372,0.183214,0.344614,8.010999,-2.4229321,-1.8770541,0.19390869,0.604126,-0.1749878,reading +0.4225766,8.644265,4.453215,0.491422,0.170771,0.329321,8.010999,-2.4229321,-1.8770541,0.19390869,0.604126,-0.1749878,reading +0.30047232,8.616732,4.5082817,0.508734,0.029415,0.088808,8.365341,-6.8330517,-0.7661445,0.4449463,0.5628662,0.008117676,reading +0.38307226,8.470686,4.823119,0.505399,0.003563,0.039837,8.101978,-4.3287168,-3.821146,0.62957764,0.53759766,0.21777344,reading +0.30765492,8.507795,4.6782703,0.505728,-0.006423,0.021294,8.111555,-3.9695864,-5.57849,0.75024414,0.42193604,0.28771973,reading +0.2633622,8.694544,4.408922,0.520918,-0.013196,0.007811,8.135497,-5.094861,-3.3901896,0.6911621,0.43804932,0.26019287,reading +0.23463176,8.668207,4.3742065,0.521188,-0.014667,0.007118,8.135497,-5.094861,-3.3901896,0.6911621,0.43804932,0.26019287,reading +0.1604115,8.700529,4.498705,0.521065,-0.012916,0.009618,8.135497,-5.094861,-3.3901896,0.6911621,0.43804932,0.26019287,reading +0.25498247,8.746018,4.2102036,0.427971,0.295937,0.538508,7.4268136,-3.5194764,-5.315128,0.4312744,0.7504883,0.06402588,reading +0.46926352,8.799889,4.2437224,0.355216,0.371939,0.669981,7.9966335,-4.4196963,-4.6351743,0.19732666,0.829895,-0.12286377,reading +0.22744916,8.631097,3.679888,0.307022,0.415636,0.723846,6.339846,-8.384495,-0.31124622,-0.0017089844,0.7738037,-0.48883057,reading +0.2837129,8.944737,4.1862617,0.328889,0.430042,0.691728,6.3302693,-8.992621,-1.3024458,-0.026672363,0.729126,-0.54486084,reading +-0.90261406,9.451111,0.664391,0.41849,0.560944,0.532071,6.8809357,-8.700529,-0.6368576,-0.041748047,0.70129395,-0.5609131,reading +-2.0949266,5.5461683,-4.320337,0.532796,0.687411,0.338894,7.350199,-7.0724716,0.9816227,-0.05670166,0.6612549,-0.5805054,reading +-0.6775591,10.178948,-1.2785037,0.481581,0.567819,0.459069,6.5840545,-9.121908,0.770933,0.01727295,0.7211304,-0.48657227,reading +-0.47405192,9.61272,2.1583729,0.431698,0.44596,0.54865,8.0924015,-7.7907324,-2.4660277,0.13513184,0.8187866,-0.307312,reading +-0.5793968,9.610326,2.112883,0.424366,0.449894,0.549505,3.6727054,-7.144298,-2.9640217,0.16827393,0.77459717,-0.36462402,reading +-0.40222588,9.55047,2.1320367,0.430287,0.449814,0.549681,6.421249,-7.608773,-2.1068976,0.101745605,0.7675781,-0.4169922,reading +-0.4297592,9.606734,2.12246,0.426088,0.452766,0.552639,6.421249,-7.608773,-2.1068976,0.101745605,0.7675781,-0.4169922,reading +-0.36391866,9.574412,2.2038627,0.424412,0.453767,0.556486,6.397307,-8.312668,-2.3175871,0.09124756,0.7698364,-0.4336548,reading +-0.41180268,9.563639,2.2266076,0.42385,0.452525,0.556342,6.3350577,-7.9104424,-6.1530986,0.10070801,0.7746582,-0.4111328,reading +-0.10175357,9.544485,2.4301147,0.386091,0.48693,0.611933,6.7324953,-6.7133417,-4.247314,0.11340332,0.8291626,-0.30474854,reading +-0.19871874,9.470264,2.0638018,0.333603,0.521783,0.665704,7.091625,-6.1387334,-4.4005427,0.13031006,0.8366089,-0.26818848,reading +-0.21667525,9.563639,2.1428106,0.356477,0.510714,0.640012,6.8426285,-6.612785,-4.6160207,0.17901611,0.8216553,-0.24829102,reading +-0.22266077,8.842984,-4.537012,0.356985,0.765486,0.472036,3.0071173,-8.690952,-2.801216,0.2524414,0.791687,-0.47131348,reading +-1.3934253,9.868899,-1.4269443,0.324254,0.724224,0.54202,3.7014358,-7.824251,-0.038307227,-0.06591797,0.6723633,-0.69799805,reading +-0.40102878,9.528923,-1.316811,0.311577,0.703091,0.560119,6.143522,-5.2768207,3.8977604,-0.13586426,0.536499,-0.78045654,reading +-0.30885202,10.247183,-1.7669208,0.30072,0.703998,0.560515,2.815581,-0.23463176,8.66701,-0.1743164,-0.044921875,-0.9202881,reading +-1.4652514,9.01776,3.4009635,0.26317,0.521783,0.69711,-0.6751649,-5.291186,-8.714894,-0.37243652,0.88983154,-0.23016357,reading +-1.6124948,9.473856,3.21661,0.259809,0.520139,0.694731,-0.6751649,-5.291186,-8.714894,-0.37243652,0.88983154,-0.23016357,reading +-1.553837,9.440337,3.3387144,0.258307,0.524715,0.685753,-0.6751649,-5.291186,-8.714894,-0.37243652,0.88983154,-0.23016357,reading +-0.58298814,9.3421755,2.7593174,0.262307,0.523689,0.684083,-0.6751649,-5.291186,-8.714894,-0.37243652,0.88983154,-0.23016357,reading +-0.9576807,9.220071,3.0992942,0.263974,0.522447,0.683864,-0.6751649,-5.291186,-8.714894,-0.37243652,0.88983154,-0.23016357,reading +-0.8619126,8.913613,3.0322564,0.268156,0.520667,0.683479,-0.6751649,-5.291186,-8.714894,-0.37243652,0.88983154,-0.23016357,reading +-0.88944596,9.701305,2.9616275,0.272036,0.519901,0.681376,-0.6751649,-5.291186,-8.714894,-0.37243652,0.88983154,-0.23016357,reading +-0.5231331,8.980651,3.1483753,0.274279,0.520218,0.680266,-0.6751649,-5.291186,-8.714894,-0.37243652,0.88983154,-0.23016357,reading diff --git a/feedbackloop.learner_backup/src/main/resources/activity_network.eg b/feedbackloop.learner_backup/src/main/resources/activity_network.eg new file mode 100644 index 0000000000000000000000000000000000000000..fe2db897c735129ebcb8d841a141d1a41eb77646 --- /dev/null +++ b/feedbackloop.learner_backup/src/main/resources/activity_network.eg @@ -0,0 +1,24 @@ +encog,BasicNetwork,java,3.4.0,1,1573056726663 +[BASIC] +[BASIC:PARAMS] +[BASIC:NETWORK] +beginTraining=0 +connectionLimit=0 +contextTargetOffset=0,0,0 +contextTargetSize=0,0,0 +endTraining=2 +hasContext=f +inputCount=12 +layerCounts=6,20,13 +layerFeedCounts=6,19,12 +layerContextCount=0,0,0 +layerIndex=0,6,26 +output=-0.9999999998,-0.9998262405,-0.9932703249,-0.9999999975,-0.9963323982,0.9952233689,0.8950485885,-0.2471548675,-0.7134368163,-0.9998203621,-0.9999109929,0.9999771142,0.3960535735,0.9999686648,0.9999999913,-0.2732796415,-0.9032063845,0.2081346278,0.898536287,-0.9971402052,-0.6828243854,-0.9184217676,-0.9998798168,-0.1932547113,0.9936549563,1,0.4286079092,-0.264797324,-0.1866788711,0.1060429716,0.7912779246,0.6472232094,0.0475589101,0.0911549832,0.0406388653,-0.2327875517,0.5914319716,-0.8001432392,1 +outputCount=6 +weightIndex=0,120,367 +weights=-1.7088652862,14.2752997314,0.740715275,1.2708204681,-0.4036569286,0.5001665546,0.0510627805,-2.9066310901,-0.2229013934,0.9396399688,0.9183598904,0.1416988855,0.8605749633,0.3905960813,-4.0459063587,-0.0170059908,2.4624246765,-2.9285166906,-0.7918081248,-2.0136574195,0.1478608406,2.5631843207,-0.9042402055,-0.500729481,-0.4630983795,0.0549798828,-0.0977590272,-0.9530129648,-1.5263691622,2.7301976123,-1.4797516391,2.6986317319,2.0146594579,-0.1235918148,1.4572757618,3.1693321102,-0.4065944987,0.3409007327,-2.2486394978,-0.6060336368,1.8345153211,-0.16153149,3.2683859226,2.3278377242,0.6143746876,2.8760864787,-2.480894825,0.2254095198,-1.2581358145,-1.4160792407,1.7234292992,-0.6619454512,-0.3098164934,0.8935333972,0.572682518,-2.982461729,-0.8738574393,1.1012797036,-0.3932676143,-0.256108697,0.2758586826,2.2127488985,-0.1462069945,0.7379583108,1.7224441339,-1.2712399722,1.2290939449,-0.5113844261,3.4698304855,0.058031942,2.1958337137,-0.6861100881,-0.1289956756,3.2646590042,0.1194102889,1.0482716301,-0.3478084366,5.595088101,-1.800527516,-0.682039906,-0.8045783014,-0.31729294,-2.6348978495,-1.084771508,-1.8333889808,-2.1761151382,-0.0652946441,-0.196028085,0.6854932987,0.659761725,0.6996173621,-2.2696984236,-2.4985596864,-0.5664655703,1.9285987078,-2.1306999458,2.3762958334,-0.8974550018,-0.2328747935,-0.8344445737,0.0680257304,1.8940723951,-0.7222739165,1.2567665333,0.1537928557,0.5751549779,-0.0984708659,-1.9990615202,-0.5808651773,8.0012792546,0.6393304473,0.7872214157,2.3118540239,0.5645897035,-8.9168604976,-0.9494985541,-0.8077446719,0.4791333039,0.3655111935,-0.5896824972,0.7857840522,0.5238654196,-0.5514168427,1.7253022698,-1.5421428536,-1.6870718373,-1.41449094,-0.7453084143,-6.6371806823,-0.7906882244,2.8593694737,-1.5765304381,0.5432602673,0.67080304,0.4251434242,0.0682657046,-0.7209840053,0.5518314996,0.8094369702,0.1802793127,-0.1158826004,0.6344079775,-0.2737678288,-0.4980923143,0.1636091351,-0.9606778805,0.6562119197,-2.8917841429,-0.1210997433,-0.0391425506,0.2407236017,-0.1423270818,0.9681781252,-0.5598600307,-0.388628032,0.4014909677,-1.1192832575,1.2193571411,-0.3060765699,-0.1835597226,11.2443097204,-3.5664946066,-1.1492000058,0.2621528218,0.1678764461,0.1902651754,-3.2994277105,-11.02227939,-0.3893786806,-0.3400217232,0.8098044232,-0.9646277798,0.6470744963,-0.8634790397,0.5891430856,0.8349596657,-3.849727641,-1.4122175376,-6.9665054499,-0.4201546219,-2.0311154576,0.4919752675,-0.0940479522,0.4895338525,-0.5202666164,0.910913153,-0.7950927495,-0.5850007689,4.5770693733,2.4301725095,1.0306331342,-2.4907175407,1.2308782405,3.4864102012,0.3399583016,1.0982556011,-1.4094635012,0.0699311184,0.0492202838,-1.1756280277,1.302794241,0.6520771703,-0.6896449718,-0.7280381619,3.8654669365,2.1228029568,0.1757444382,-0.1413681423,1.0716643312,0.3849145532,0.5342981861,0.4640418476,-0.6646148594,-1.5554107056,-1.4624700127,1.13554699,1.1198715255,0.3540672649,1.0675049395,1.2352620786,-0.2614184979,1.2342286673,-1.0549762137,1.5991555107,0.7355069849,0.0606401695,-0.5497146072,1.8999576856,5.9377575427,7.5338358234,-0.0865799559,-3.0694638269,-3.0437525145,-2.704859121,0.9283397874,1.5269139975,-0.0995107467,0.9282047722,-1.2856460052,-0.0307327173,4.2613097335,0.257577656,0.5685645817,-0.0169828568,-0.5204521728,0.7168015356,-0.5859561953,0.2708517822,1.2065386892,-1.3601695201,0.1620367717,-0.6470949599,0.7873135349,1.1024505063,0.1579793327,-0.0017665327,2.822972495,0.0160673118,-0.4465177278,1.8980963961,-0.3773971979,0.943726363,-0.5213528238,-0.3897857227,-0.8630032021,2.5201910192,-0.575253653,0.8907255859,-0.7195215087,-0.5382433047,2.2851094383,-1.5540647847,0.2960692828,0.665211973,0.1405813785,0.1105460028,0.8068504487,2.0277954136,-1.7509079195,1.1171814188,0.129101145,0.5965653003,-2.0007574537,0.2396412696,-0.8020062738,-0.5588785126,1.0502688477,-0.8620666979,-0.6130290006,-0.7871503186,-0.6196680129,0.7774902198,-0.429619143,-1.1356565182,0.7263590549,-1.9679598636,-0.7285879264,2.7402886665,0.930229153,-0.664069337,0.6429741916,-1.3094505505,0.7978709596,-0.3499112457,-3.8104849889,0.5466548215,-2.2820640634,-1.0103239143,-16.004145782,8.7519010794,1.2152734978,-2.5156034018,-1.5446133472,-1.1614820056,-0.2661163326,0.0583080828,-0.3356454252,-1.3513237137,-0.6317676477,-0.2050401396,0.4081601902,-0.7397933013,0.3498065895,-0.581329787,2.0349560655,-0.7880680183,1.7382312616,0.3776435593,0.4898207616,0.4497504489,-1.1493424244,-0.3073277469,-1.9244321011,-0.0127378365,2.7008386292,-2.280812537,-0.9230709045,0.2856600067,-1.7975208467,3.097515774,0.123435157,0.3851379119,-0.8956612407,0.3849468804,-0.3434920946,0.2850125373,-0.1755239343,0.0828670202,0.8446469853,-0.1201831136,-0.1576389798,0.3703280934,-0.1546663502,-1.0571186475,1.334800809,-1.1064211025,-0.5226992813,1.555613798,0.7408293695,1.1076573982,-1.1994299372,0.6734668239,1.0278022031,-0.9930018696,-0.7971144873,0.3036302406,0.8814128057 +biasActivation=0,1,1 +[BASIC:ACTIVATION] +"org.encog.engine.network.activation.ActivationTANH" +"org.encog.engine.network.activation.ActivationTANH" +"org.encog.engine.network.activation.ActivationLinear" diff --git a/feedbackloop.learner_backup/src/main/resources/activity_normalizer.json b/feedbackloop.learner_backup/src/main/resources/activity_normalizer.json new file mode 100644 index 0000000000000000000000000000000000000000..696d9bdd1d5f54f0800989002820c9c788d14fc0 --- /dev/null +++ b/feedbackloop.learner_backup/src/main/resources/activity_normalizer.json @@ -0,0 +1,236 @@ +{ + "sourceColumns" : [ { + "name" : "m_accel_x", + "type" : "continuous", + "count" : 368, + "index" : 0, + "low" : -13.785813, + "high" : 4.9524064, + "mean" : -0.19340335027717379, + "sd" : 1.7490953819438357 + }, { + "name" : "m_accel_y", + "type" : "continuous", + "count" : 368, + "index" : 1, + "low" : -5.6156, + "high" : 35.582626, + "mean" : 7.109900721222825, + "sd" : 4.5921221593489046 + }, { + "name" : "m_accel_z", + "type" : "continuous", + "count" : 368, + "index" : 2, + "low" : -11.432313, + "high" : 13.4422455, + "mean" : 3.2416352282336933, + "sd" : 5.027733939700574 + }, { + "name" : "m_rotation_x", + "type" : "continuous", + "count" : 368, + "index" : 3, + "low" : -0.248631, + "high" : 0.764364, + "mean" : 0.3137794211956523, + "sd" : 0.21140628451422136 + }, { + "name" : "m_rotation_y", + "type" : "continuous", + "count" : 368, + "index" : 4, + "low" : -0.792455, + "high" : 0.877354, + "mean" : 0.1370161440217391, + "sd" : 0.39550889574156256 + }, { + "name" : "m_rotation_z", + "type" : "continuous", + "count" : 368, + "index" : 5, + "low" : -0.82801, + "high" : 0.857407, + "mean" : 0.2879983125, + "sd" : 0.40760406682498107 + }, { + "name" : "w_accel_x", + "type" : "continuous", + "count" : 368, + "index" : 6, + "low" : -37.52193, + "high" : 45.844173, + "mean" : -1.3088346191668498, + "sd" : 10.449275409586559 + }, { + "name" : "w_accel_y", + "type" : "continuous", + "count" : 368, + "index" : 7, + "low" : -57.436897, + "high" : 38.16836, + "mean" : -3.0629256689130435, + "sd" : 9.400961004585001 + }, { + "name" : "w_accel_z", + "type" : "continuous", + "count" : 368, + "index" : 8, + "low" : -24.181437, + "high" : 29.783869, + "mean" : 1.7380082924809785, + "sd" : 6.801019490227344 + }, { + "name" : "w_rotation_x", + "type" : "continuous", + "count" : 368, + "index" : 9, + "low" : -0.819397, + "high" : 0.9624634, + "mean" : 0.13214409923764678, + "sd" : 0.40673713347253454 + }, { + "name" : "w_rotation_y", + "type" : "continuous", + "count" : 368, + "index" : 10, + "low" : -0.8397827, + "high" : 0.88983154, + "mean" : 0.16942944796820666, + "sd" : 0.42887071522273607 + }, { + "name" : "w_rotation_z", + "type" : "continuous", + "count" : 368, + "index" : 11, + "low" : -0.97631836, + "high" : 0.9837036, + "mean" : -0.22766295774130452, + "sd" : 0.48663553612477467 + }, { + "name" : "labels", + "type" : "nominal", + "index" : 12, + "classes" : [ "working", "walking", "dancing", "lying", "getting up", "reading" ] + } ], + "inputColumns" : [ { + "name" : "m_accel_x", + "type" : "continuous", + "count" : 368, + "index" : 0, + "low" : -13.785813, + "high" : 4.9524064, + "mean" : -0.19340335027717379, + "sd" : 1.7490953819438357 + }, { + "name" : "m_accel_y", + "type" : "continuous", + "count" : 368, + "index" : 1, + "low" : -5.6156, + "high" : 35.582626, + "mean" : 7.109900721222825, + "sd" : 4.5921221593489046 + }, { + "name" : "m_accel_z", + "type" : "continuous", + "count" : 368, + "index" : 2, + "low" : -11.432313, + "high" : 13.4422455, + "mean" : 3.2416352282336933, + "sd" : 5.027733939700574 + }, { + "name" : "m_rotation_x", + "type" : "continuous", + "count" : 368, + "index" : 3, + "low" : -0.248631, + "high" : 0.764364, + "mean" : 0.3137794211956523, + "sd" : 0.21140628451422136 + }, { + "name" : "m_rotation_y", + "type" : "continuous", + "count" : 368, + "index" : 4, + "low" : -0.792455, + "high" : 0.877354, + "mean" : 0.1370161440217391, + "sd" : 0.39550889574156256 + }, { + "name" : "m_rotation_z", + "type" : "continuous", + "count" : 368, + "index" : 5, + "low" : -0.82801, + "high" : 0.857407, + "mean" : 0.2879983125, + "sd" : 0.40760406682498107 + }, { + "name" : "w_accel_x", + "type" : "continuous", + "count" : 368, + "index" : 6, + "low" : -37.52193, + "high" : 45.844173, + "mean" : -1.3088346191668498, + "sd" : 10.449275409586559 + }, { + "name" : "w_accel_y", + "type" : "continuous", + "count" : 368, + "index" : 7, + "low" : -57.436897, + "high" : 38.16836, + "mean" : -3.0629256689130435, + "sd" : 9.400961004585001 + }, { + "name" : "w_accel_z", + "type" : "continuous", + "count" : 368, + "index" : 8, + "low" : -24.181437, + "high" : 29.783869, + "mean" : 1.7380082924809785, + "sd" : 6.801019490227344 + }, { + "name" : "w_rotation_x", + "type" : "continuous", + "count" : 368, + "index" : 9, + "low" : -0.819397, + "high" : 0.9624634, + "mean" : 0.13214409923764678, + "sd" : 0.40673713347253454 + }, { + "name" : "w_rotation_y", + "type" : "continuous", + "count" : 368, + "index" : 10, + "low" : -0.8397827, + "high" : 0.88983154, + "mean" : 0.16942944796820666, + "sd" : 0.42887071522273607 + }, { + "name" : "w_rotation_z", + "type" : "continuous", + "count" : 368, + "index" : 11, + "low" : -0.97631836, + "high" : 0.9837036, + "mean" : -0.22766295774130452, + "sd" : 0.48663553612477467 + } ], + "outputColumns" : [ { + "name" : "labels", + "type" : "nominal", + "index" : 12, + "classes" : [ "working", "walking", "dancing", "lying", "getting up", "reading" ] + } ], + "inputLow" : -1.0, + "inputHigh" : 1.0, + "outputLow" : -1.0, + "outputHigh" : 1.0, + "unknownValues" : [ null ] +} \ No newline at end of file diff --git a/feedbackloop.learner_backup/src/main/resources/learner_activity_phone_and_watch.json b/feedbackloop.learner_backup/src/main/resources/learner_activity_phone_and_watch.json new file mode 100644 index 0000000000000000000000000000000000000000..acabbdd4aa0de9e2b7c968260242898dd8e78b69 --- /dev/null +++ b/feedbackloop.learner_backup/src/main/resources/learner_activity_phone_and_watch.json @@ -0,0 +1,24 @@ +{ + "relevantItemNames": [ + "m_accel_x", + "m_accel_y", + "m_accel_z", + "m_rotation_x", + "m_rotation_y", + "m_rotation_z", + "w_accel_x", + "w_accel_y", + "w_accel_z", + "w_rotation_x", + "w_rotation_y", + "w_rotation_z" + ], + "targetItemNames": [ + "activity" + ], + "definitionFile": "src/test/resources/activity_definition.json", + "dataFiles": [ + "src/test/resources/activity_data.csv" + ], + "saveModels": false +} diff --git a/feedbackloop.learner_backup/src/main/resources/learner_preferences_brightness_iris.json b/feedbackloop.learner_backup/src/main/resources/learner_preferences_brightness_iris.json new file mode 100644 index 0000000000000000000000000000000000000000..8b2c9ad308352b14a8afba7599ecb400230d7af7 --- /dev/null +++ b/feedbackloop.learner_backup/src/main/resources/learner_preferences_brightness_iris.json @@ -0,0 +1,14 @@ +{ + "relevantItemNames": [ + "activity", + "w_brightness" + ], + "targetItemNames": [ + "iris1_item" + ], + "definitionFile": "src/test/resources/preference_definition.json", + "dataFiles": [ + "src/test/resources/preference_data.csv" + ], + "saveModels": false +} diff --git a/feedbackloop.learner_backup/src/main/resources/loaded_learner_activity_phone_and_watch.json b/feedbackloop.learner_backup/src/main/resources/loaded_learner_activity_phone_and_watch.json new file mode 100644 index 0000000000000000000000000000000000000000..3ce0a51178033c58e6f21ecb3d1fae11a6530176 --- /dev/null +++ b/feedbackloop.learner_backup/src/main/resources/loaded_learner_activity_phone_and_watch.json @@ -0,0 +1,25 @@ +{ + "relevantItemNames": [ + "m_accel_x", + "m_accel_y", + "m_accel_z", + "m_rotation_x", + "m_rotation_y", + "m_rotation_z", + "w_accel_x", + "w_accel_y", + "w_accel_z", + "w_rotation_x", + "w_rotation_y", + "w_rotation_z" + ], + "targetItemNames": [ + "activity" + ], + "definitionFile": "src/test/resources/activity_definition.json", + "dataFiles": [ + "src/test/resources/activity_network.eg", + "src/test/resources/activity_normalizer.json" + ], + "kind": "loaded" +} diff --git a/feedbackloop.learner_backup/src/main/resources/loaded_learner_preferences_brightness_iris.json b/feedbackloop.learner_backup/src/main/resources/loaded_learner_preferences_brightness_iris.json new file mode 100644 index 0000000000000000000000000000000000000000..2ec4d871adb20154966c43e68ef089a10f4d9b02 --- /dev/null +++ b/feedbackloop.learner_backup/src/main/resources/loaded_learner_preferences_brightness_iris.json @@ -0,0 +1,15 @@ +{ + "relevantItemNames": [ + "activity", + "w_brightness" + ], + "targetItemNames": [ + "iris1_item" + ], + "definitionFile": "src/test/resources/preference_definition.json", + "dataFiles": [ + "src/test/resources/preference_network.eg", + "src/test/resources/preference_normalizer.json" + ], + "kind": "loaded" +} diff --git a/feedbackloop.learner_backup/src/main/resources/preference_data.csv b/feedbackloop.learner_backup/src/main/resources/preference_data.csv new file mode 100644 index 0000000000000000000000000000000000000000..264467a975f3de3001a57bc9902ec5d9308db23f --- /dev/null +++ b/feedbackloop.learner_backup/src/main/resources/preference_data.csv @@ -0,0 +1,600 @@ +walking,medium,120,70 +walking,bright,120,0 +walking,medium,120,70 +walking,bright,120,0 +walking,bright,120,0 +walking,medium,120,70 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,medium,120,70 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,medium,120,70 +walking,medium,120,70 +walking,dimmer,120,40 +walking,medium,120,70 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,medium,120,70 +walking,bright,120,0 +walking,bright,120,0 +walking,medium,120,70 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,medium,120,70 +walking,dark,120,100 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,medium,120,70 +walking,bright,120,0 +walking,medium,120,70 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,medium,120,70 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,medium,120,70 +walking,dimmer,120,40 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,medium,120,70 +walking,bright,120,0 +walking,dark,120,100 +walking,medium,120,70 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,medium,120,70 +walking,medium,120,70 +walking,medium,120,70 +walking,medium,120,70 +walking,bright,120,0 +walking,medium,120,70 +walking,medium,120,70 +walking,bright,120,0 +walking,dark,120,100 +walking,medium,120,70 +walking,bright,120,0 +walking,dimmer,120,40 +walking,medium,120,70 +walking,medium,120,70 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,medium,120,70 +walking,bright,120,0 +walking,bright,120,0 +walking,medium,120,70 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,medium,120,70 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +walking,medium,120,70 +walking,medium,120,70 +walking,bright,120,0 +walking,medium,120,70 +walking,bright,120,0 +walking,bright,120,0 +walking,bright,120,0 +reading,medium,180,70 +reading,medium,180,70 +reading,medium,180,70 +reading,bright,180,0 +reading,medium,180,70 +reading,bright,180,0 +reading,medium,180,70 +reading,bright,180,0 +reading,medium,180,70 +reading,bright,180,0 +reading,bright,180,0 +reading,medium,180,70 +reading,bright,180,0 +reading,bright,180,0 +reading,medium,180,70 +reading,bright,180,0 +reading,bright,180,0 +reading,medium,180,70 +reading,bright,180,0 +reading,dark,180,100 +reading,medium,180,70 +reading,medium,180,70 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,dimmer,180,40 +reading,medium,180,70 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,dimmer,180,40 +reading,bright,180,0 +reading,medium,180,70 +reading,bright,180,0 +reading,bright,180,0 +reading,medium,180,70 +reading,medium,180,70 +reading,bright,180,0 +reading,bright,180,0 +reading,dimmer,180,40 +reading,bright,180,0 +reading,dark,180,100 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,medium,180,70 +reading,medium,180,70 +reading,dimmer,180,40 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,medium,180,70 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,dimmer,180,40 +reading,bright,180,0 +reading,dimmer,180,40 +reading,medium,180,70 +reading,dimmer,180,40 +reading,bright,180,0 +reading,medium,180,70 +reading,bright,180,0 +reading,medium,180,70 +reading,dimmer,180,40 +reading,bright,180,0 +reading,dark,180,100 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,medium,180,70 +reading,bright,180,0 +reading,bright,180,0 +reading,medium,180,70 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,medium,180,70 +reading,bright,180,0 +reading,medium,180,70 +reading,dimmer,180,40 +reading,medium,180,70 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,bright,180,0 +reading,medium,180,70 +working,medium,240,70 +working,medium,240,70 +working,medium,240,70 +working,medium,240,70 +working,dark,240,100 +working,bright,240,0 +working,bright,240,0 +working,medium,240,70 +working,medium,240,70 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,medium,240,70 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,medium,240,70 +working,bright,240,0 +working,medium,240,70 +working,bright,240,0 +working,bright,240,0 +working,medium,240,70 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,medium,240,70 +working,bright,240,0 +working,medium,240,70 +working,bright,240,0 +working,medium,240,70 +working,bright,240,0 +working,bright,240,0 +working,medium,240,70 +working,medium,240,70 +working,bright,240,0 +working,medium,240,70 +working,bright,240,0 +working,dimmer,240,40 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,medium,240,70 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,medium,240,70 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,medium,240,70 +working,medium,240,70 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,medium,240,70 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,medium,240,70 +working,medium,240,70 +working,bright,240,0 +working,bright,240,0 +working,medium,240,70 +working,medium,240,70 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,medium,240,70 +working,medium,240,70 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,medium,240,70 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,bright,240,0 +working,medium,240,70 +working,medium,240,70 +dancing,medium,300,70 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,dimmer,300,40 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,dimmer,300,40 +dancing,dimmer,300,40 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,medium,300,70 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,medium,300,70 +dancing,dimmer,300,40 +dancing,bright,300,0 +dancing,bright,300,0 +dancing,medium,300,70 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,medium,7,70 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,dimmer,7,40 +lying,bright,7,0 +lying,bright,7,0 +lying,dark,7,100 +lying,bright,7,0 +lying,dark,7,100 +lying,dimmer,7,40 +lying,medium,7,70 +lying,bright,7,0 +lying,medium,7,70 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,medium,7,70 +lying,medium,7,70 +lying,bright,7,0 +lying,bright,7,0 +lying,medium,7,70 +lying,medium,7,70 +lying,bright,7,0 +lying,dimmer,7,40 +lying,bright,7,0 +lying,bright,7,0 +lying,medium,7,70 +lying,bright,7,0 +lying,bright,7,0 +lying,medium,7,70 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,medium,7,70 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,dimmer,7,40 +lying,medium,7,70 +lying,medium,7,70 +lying,dark,7,100 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,medium,7,70 +lying,bright,7,0 +lying,dimmer,7,40 +lying,bright,7,0 +lying,medium,7,70 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,dimmer,7,40 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,medium,7,70 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,dimmer,7,40 +lying,medium,7,70 +lying,medium,7,70 +lying,dark,7,100 +lying,medium,7,70 +lying,medium,7,70 +lying,bright,7,0 +lying,medium,7,70 +lying,medium,7,70 +lying,bright,7,0 +lying,bright,7,0 +lying,medium,7,70 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,bright,7,0 +lying,medium,7,70 +lying,bright,7,0 +lying,medium,7,70 +lying,medium,7,70 +lying,medium,7,70 +lying,medium,7,70 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,medium,60,70 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,medium,60,70 +getting up,dimmer,60,40 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,medium,60,70 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,dimmer,60,40 +getting up,bright,60,0 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,medium,60,70 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,dark,60,100 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,medium,60,70 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,dimmer,60,40 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,dimmer,60,40 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,medium,60,70 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,dimmer,60,40 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,medium,60,70 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,bright,60,0 +getting up,medium,60,70 +getting up,medium,60,70 diff --git a/feedbackloop.learner_backup/src/main/resources/preference_network.eg b/feedbackloop.learner_backup/src/main/resources/preference_network.eg new file mode 100644 index 0000000000000000000000000000000000000000..1587e1da370b0124f809132166145f4741384a76 --- /dev/null +++ b/feedbackloop.learner_backup/src/main/resources/preference_network.eg @@ -0,0 +1,24 @@ +encog,BasicNetwork,java,3.4.0,1,1573117410995 +[BASIC] +[BASIC:PARAMS] +[BASIC:NETWORK] +beginTraining=0 +connectionLimit=0 +contextTargetOffset=0,0,0 +contextTargetSize=0,0,0 +endTraining=2 +hasContext=f +inputCount=10 +layerCounts=2,7,11 +layerFeedCounts=2,6,10 +layerContextCount=0,0,0 +layerIndex=0,2,9 +output=-0.6381859116,0.3999935955,-0.6540824672,0.7389201853,0.9938086675,0.9744616654,-0.9998339089,0.911158752,1,-1,-1,-1,-1,-1,1,-1,1,-1,-1,1 +outputCount=2 +weightIndex=0,14,80 +weights=-2.2442844715,0.360914345,0.1013390668,-0.6391682758,1.3438935674,-0.4978456338,-0.170321037,0.8003732757,0.915248595,2.0407802432,-1.8826965793,-0.0195990503,-0.0125650557,0.0691792866,-0.4505245774,-0.3256543307,-0.4666017567,-0.5881366551,1.9781769307,-0.3349721024,-0.8605579705,-0.1100200458,0.1373966455,0.3000984192,-0.6132118127,-0.5722441964,0.4528791857,-0.5797529708,1.5866346514,-0.4129251382,0.4931087639,-0.9064649265,-0.0032546631,0.7438195148,-0.4720461064,0.2981426389,0.1522369118,0.7132860409,-0.5736723943,0.021228877,0.4853956744,0.5589259044,-1.3403586258,2.2111834668,-2.5310840076,2.7268975262,-0.2288535369,-0.5730428823,0.456874404,-0.8039689625,0.2972606181,0.6557258144,0.4426663626,0.7848014523,0.5849130255,-0.8301874694,-1.0571770329,0.076641765,-1.3871133692,0.3709447004,-0.4032415216,3.9107091517,-0.6455690937,-0.8192705336,0.2195543966,0.8971750301,0.3284791954,1.815129938,-0.5670301457,1.4246698687,-0.8056742788,0.1254233733,-0.1005919109,-0.6978992274,2.0372389285,0.2320539506,0.2233571532,0.7194574942,-0.7761286713,-0.6049784996 +biasActivation=0,1,1 +[BASIC:ACTIVATION] +"org.encog.engine.network.activation.ActivationTANH" +"org.encog.engine.network.activation.ActivationTANH" +"org.encog.engine.network.activation.ActivationLinear" diff --git a/feedbackloop.learner_backup/src/main/resources/preference_normalizer.json b/feedbackloop.learner_backup/src/main/resources/preference_normalizer.json new file mode 100644 index 0000000000000000000000000000000000000000..f606c0beee7af46f172904c428ca20e8ff1cadcd --- /dev/null +++ b/feedbackloop.learner_backup/src/main/resources/preference_normalizer.json @@ -0,0 +1,66 @@ +{ + "sourceColumns" : [ { + "name" : "activity", + "type" : "nominal", + "index" : 0, + "classes" : [ "walking", "reading", "working", "dancing", "lying", "getting up" ] + }, { + "name" : "w_brightness", + "type" : "nominal", + "index" : 1, + "classes" : [ "bright", "medium", "dimmer", "dark" ] + }, { + "name" : "label1", + "type" : "continuous", + "count" : 599, + "index" : 2, + "low" : 7.0, + "high" : 300.0, + "mean" : 151.2186978297162, + "sd" : 100.8570150267567 + }, { + "name" : "label2", + "type" : "continuous", + "count" : 599, + "index" : 3, + "low" : 0.0, + "high" : 100.0, + "mean" : 24.273789649415694, + "sd" : 33.34594053873994 + } ], + "inputColumns" : [ { + "name" : "activity", + "type" : "nominal", + "index" : 0, + "classes" : [ "walking", "reading", "working", "dancing", "lying", "getting up" ] + }, { + "name" : "w_brightness", + "type" : "nominal", + "index" : 1, + "classes" : [ "bright", "medium", "dimmer", "dark" ] + } ], + "outputColumns" : [ { + "name" : "label1", + "type" : "continuous", + "count" : 599, + "index" : 2, + "low" : 7.0, + "high" : 300.0, + "mean" : 151.2186978297162, + "sd" : 100.8570150267567 + }, { + "name" : "label2", + "type" : "continuous", + "count" : 599, + "index" : 3, + "low" : 0.0, + "high" : 100.0, + "mean" : 24.273789649415694, + "sd" : 33.34594053873994 + } ], + "inputLow" : -1.0, + "inputHigh" : 1.0, + "outputLow" : -1.0, + "outputHigh" : 1.0, + "unknownValues" : [ null ] +} \ No newline at end of file diff --git a/feedbackloop.learner_backup/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/LearnerSubjectUnderTest.java b/feedbackloop.learner_backup/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/LearnerSubjectUnderTest.java index 7a9a9c702d3dd76fcf405de37c7f84c85d75fdd3..69ca8bd716f5d77f7ebdca4a86a10dcd633bf4b9 100644 --- a/feedbackloop.learner_backup/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/LearnerSubjectUnderTest.java +++ b/feedbackloop.learner_backup/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/LearnerSubjectUnderTest.java @@ -25,7 +25,7 @@ class LearnerSubjectUnderTest { factory.setKnowledgeBaseRoot(root); } - void initFor(MachineLearningHandlerFactory.MachineLearningHandlerFactoryTarget factoryTarget, URL configURL) throws IOException { + void initFor(MachineLearningHandlerFactory.MachineLearningHandlerFactoryTarget factoryTarget, URL configURL) throws IOException, ClassNotFoundException { factory.initializeFor(factoryTarget, configURL); encoder = factory.createEncoder(); decoder = factory.createDecoder(); diff --git a/feedbackloop.learner_backup/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/LearnerTest.java b/feedbackloop.learner_backup/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/LearnerTest.java index bdeef5e79f7618c2de867a813e54bf9cc8228d12..75d162aa2442ea0699c31e42ff9283c379947218 100644 --- a/feedbackloop.learner_backup/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/LearnerTest.java +++ b/feedbackloop.learner_backup/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/LearnerTest.java @@ -1,15 +1,16 @@ package de.tudresden.inf.st.eraser.feedbackloop.learner_backup; -import de.tudresden.inf.st.eraser.jastadd.model.*; -import org.junit.*; +import de.tudresden.inf.st.eraser.jastadd.model.Item; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.nio.file.Path; import java.nio.file.Paths; -import java.util.*; -import java.util.function.BiConsumer; import static de.tudresden.inf.st.eraser.jastadd.model.MachineLearningHandlerFactory.MachineLearningHandlerFactoryTarget.ACTIVITY_RECOGNITION; import static de.tudresden.inf.st.eraser.jastadd.model.MachineLearningHandlerFactory.MachineLearningHandlerFactoryTarget.PREFERENCE_LEARNING; @@ -21,19 +22,27 @@ import static de.tudresden.inf.st.eraser.jastadd.model.MachineLearningHandlerFac */ public class LearnerTest { + private static final Path base = Paths.get("src", "test", "resources"); private static URL ACTIVITY_CONFIG; + private static URL LOADED_ACTIVITY_CONFIG; private static URL ACTIVITY_DATA; private static URL PREFERENCE_CONFIG; + private static URL LOADED_PREFERENCE_CONFIG; private static URL PREFERENCE_DATA; private LearnerSubjectUnderTest sut; @BeforeClass public static void setData() throws MalformedURLException { - Path base = Paths.get("src", "test", "resources"); - ACTIVITY_CONFIG = base.resolve("activity_definition.json").toUri().toURL(); - ACTIVITY_DATA = base.resolve("activity_data.csv").toUri().toURL(); - PREFERENCE_CONFIG = base.resolve("preference_definition.json").toUri().toURL(); - PREFERENCE_DATA = base.resolve("preference_data.csv").toUri().toURL(); + ACTIVITY_CONFIG = resolveFromBaseURL("learner_activity_phone_and_watch.json"); + LOADED_ACTIVITY_CONFIG = resolveFromBaseURL("loaded_learner_activity_phone_and_watch.json"); + ACTIVITY_DATA = resolveFromBaseURL("activity_data.csv"); + PREFERENCE_CONFIG = resolveFromBaseURL("learner_preferences_brightness_iris.json"); + LOADED_PREFERENCE_CONFIG = resolveFromBaseURL("loaded_learner_preferences_brightness_iris.json"); + PREFERENCE_DATA = resolveFromBaseURL("preference_data.csv"); + } + + private static URL resolveFromBaseURL(String filename) throws MalformedURLException { + return base.resolve(filename).toUri().toURL(); } @Before @@ -44,60 +53,54 @@ public class LearnerTest { @Test public void testActivities() throws IOException { - LearnerTestUtils.testLearner(sut, - new LearnerTestSettings() - .setConfigURL(ACTIVITY_CONFIG) - .setDataURL(ACTIVITY_DATA) - .setInputItemNames(LearnerTestConstants.ACTIVITY_INPUT_ITEM_NAMES) - .setExpectedOutput(line -> line[12]) - .setOutputItemProvider(() -> sut.root.getSmartHomeEntityModel().getActivityItem()) - .setStateOfOutputItem(item -> sut.root.currentActivityName()) - .setFactoryTarget(ACTIVITY_RECOGNITION) - .setSingleUpdateList(false)); + LearnerTestUtils.testLearner(sut, settingsActivities()); } @Test public void testPreferences() throws IOException { -// specialHandler.put("w_brightness", (item, value) -> { -// int target; -// switch (value) { -// case "medium": target = 50; break; -// case "bright": target = 100; break; -// case "dimmer": target = 20; break; -// case "dark": target = 0; break; -// default: -// throw new IllegalArgumentException("Unknown value for brightness:" + value); -// } -// item.setStateFromLong(target); -// }); - LearnerTestUtils.testLearner(sut, - new LearnerTestSettings() - .setConfigURL(PREFERENCE_CONFIG) - .setDataURL(PREFERENCE_DATA) - .setInputItemNames(LearnerTestConstants.PREFERENCE_INPUT_ITEM_NAMES) - .setExpectedOutput(LearnerTestUtils::decodeOutput) - .putSpecialInputHandler("activity", (item, value) -> item.setStateFromLong( - sut.root.resolveActivity(value) - .orElseThrow(() -> new AssertionError("Activity " + value + " not found")) - .getIdentifier())) - .setOutputItemProvider(() -> sut.root.getSmartHomeEntityModel().resolveItem(LearnerTestConstants.PREFERENCE_OUTPUT_ITEM_NAME) - .orElseThrow(() -> new AssertionError( - "Item " + LearnerTestConstants.PREFERENCE_OUTPUT_ITEM_NAME + " not found"))) - .setStateOfOutputItem(Item::getStateAsString) - .setCheckUpdate(LearnerTestUtils::colorSimilar) - .setFactoryTarget(PREFERENCE_LEARNING) - .setSingleUpdateList(true)); + LearnerTestUtils.testLearner(sut, settingsPreferences()); } - @Ignore @Test - public void testLoadedActivities() { - // TODO test with pre-trained model + public void testLoadedActivities() throws IOException { + LearnerTestUtils.testLearner(sut, settingsActivities() + .setConfigURL(LOADED_ACTIVITY_CONFIG)); + } + + @Test + public void testLoadedPreferences() throws IOException { + LearnerTestUtils.testLearner(sut, settingsPreferences() + .setConfigURL(LOADED_PREFERENCE_CONFIG)); + } + + private LearnerTestSettings settingsActivities() throws IOException { + return new LearnerTestSettings() + .setConfigURL(ACTIVITY_CONFIG) + .setDataURL(ACTIVITY_DATA) + .setExpectedOutput(line -> line[12]) + .setOutputItemProvider(() -> sut.root.getSmartHomeEntityModel().getActivityItem()) + .setStateOfOutputItem(item -> sut.root.currentActivityName()) + .setFactoryTarget(ACTIVITY_RECOGNITION) + .setSingleUpdateList(false); } - @After - public void shutdownLearner() { - sut.shutdown(); + private LearnerTestSettings settingsPreferences() throws IOException { + return new LearnerTestSettings() + .setConfigURL(PREFERENCE_CONFIG) + .setDataURL(PREFERENCE_DATA) + .setExpectedOutput(LearnerTestUtils::decodeOutput) + .putSpecialInputHandler("activity", (item, value) -> item.setStateFromLong( + sut.root.resolveActivity(value) + .orElseThrow(() -> new AssertionError("Activity " + value + " not found")) + .getIdentifier())) + .setOutputItemProvider(() -> sut.root.getSmartHomeEntityModel() + .resolveItem(LearnerTestConstants.PREFERENCE_OUTPUT_ITEM_NAME) + .orElseThrow(() -> new AssertionError( + "Item " + LearnerTestConstants.PREFERENCE_OUTPUT_ITEM_NAME + " not found"))) + .setStateOfOutputItem(Item::getStateAsString) + .setCheckUpdate(LearnerTestUtils::colorSimilar) + .setFactoryTarget(PREFERENCE_LEARNING) + .setSingleUpdateList(true); } } diff --git a/feedbackloop.learner_backup/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/LearnerTestSettings.java b/feedbackloop.learner_backup/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/LearnerTestSettings.java index 880227bc233a24537f7d6f931abe6f93248908b1..d175133088ad71d4e5a14eb24b6e40eb1ede5b55 100644 --- a/feedbackloop.learner_backup/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/LearnerTestSettings.java +++ b/feedbackloop.learner_backup/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/LearnerTestSettings.java @@ -1,13 +1,19 @@ package de.tudresden.inf.st.eraser.feedbackloop.learner_backup; import de.tudresden.inf.st.eraser.feedbackloop.learner_backup.LearnerTestUtils.CheckUpdate; +import de.tudresden.inf.st.eraser.feedbackloop.learner_backup.data.LearnerScenarioDefinition; import de.tudresden.inf.st.eraser.jastadd.model.Item; import de.tudresden.inf.st.eraser.jastadd.model.MachineLearningHandlerFactory; +import lombok.AccessLevel; import lombok.Data; +import lombok.Getter; +import lombok.Setter; import lombok.experimental.Accessors; +import java.io.IOException; import java.net.URL; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.function.BiConsumer; import java.util.function.Function; @@ -18,7 +24,6 @@ import java.util.function.Supplier; class LearnerTestSettings { private URL configURL; private URL dataURL; - private String[] inputItemNames; private Function<String[], String> expectedOutput; private final Map<String, BiConsumer<Item, String>> specialInputHandler = new HashMap<>(); private Supplier<Item> outputItemProvider; @@ -27,57 +32,24 @@ class LearnerTestSettings { private MachineLearningHandlerFactory.MachineLearningHandlerFactoryTarget factoryTarget; private boolean singleUpdateList; + @Getter(AccessLevel.NONE) + @Setter(AccessLevel.NONE) + private transient LearnerScenarioDefinition settings; + @SuppressWarnings("SameParameterValue") LearnerTestSettings putSpecialInputHandler(String itemName, BiConsumer<Item, String> handler) { specialInputHandler.put(itemName, handler); return this; } -// public LearnerTestSettings(URL configURL, URL inputCsvFileName, String[] inputItemNames, Function<String[], String> expectedOutput, Map<String, BiConsumer<Item, String>> specialInputHandler, Supplier<Item> outputItemProvider, Function<Item, String> stateOfOutputItem, MachineLearningHandlerFactory.MachineLearningHandlerFactoryTarget factoryTarget, boolean singleUpdateList) { -// this.configURL = configURL; -// this.inputCsvFileName = inputCsvFileName; -// this.inputItemNames = inputItemNames; -// this.expectedOutput = expectedOutput; -// this.specialInputHandler = specialInputHandler; -// this.outputItemProvider = outputItemProvider; -// this.stateOfOutputItem = stateOfOutputItem; -// this.factoryTarget = factoryTarget; -// this.singleUpdateList = singleUpdateList; -// } -// -// public URL getConfigURL() { -// return configURL; -// } -// -// public URL getInputCsvFileName() { -// return inputCsvFileName; -// } -// -// public String[] getInputItemNames() { -// return inputItemNames; -// } -// -// public Function<String[], String> getExpectedOutput() { -// return expectedOutput; -// } -// -// public Map<String, BiConsumer<Item, String>> getSpecialInputHandler() { -// return specialInputHandler; -// } -// -// public Supplier<Item> getOutputItemProvider() { -// return outputItemProvider; -// } -// -// public Function<Item, String> getStateOfOutputItem() { -// return stateOfOutputItem; -// } -// -// public MachineLearningHandlerFactory.MachineLearningHandlerFactoryTarget getFactoryTarget() { -// return factoryTarget; -// } -// -// public boolean isSingleUpdateList() { -// return singleUpdateList; -// } + LearnerTestSettings setConfigURL(URL configURL) throws IOException { + settings = LearnerScenarioDefinition.loadFrom(configURL); + this.configURL = configURL; + return this; + } + + List<String> getInputItemNames() { + return settings.relevantItemNames; + } + } diff --git a/feedbackloop.learner_backup/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/LearnerTestUtils.java b/feedbackloop.learner_backup/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/LearnerTestUtils.java index 1ead450b552654d10ec4d2aa0ffec4cba46de135..0e864cbb5c592683db5e42c23401ccf038575bac 100644 --- a/feedbackloop.learner_backup/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/LearnerTestUtils.java +++ b/feedbackloop.learner_backup/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/learner_backup/LearnerTestUtils.java @@ -17,7 +17,8 @@ import java.util.stream.Stream; import static de.tudresden.inf.st.eraser.feedbackloop.learner_backup.LearnerTestConstants.COLOR_WEIGHTS; import static de.tudresden.inf.st.eraser.feedbackloop.learner_backup.LearnerTestConstants.MAX_COLOR_DIFFERENCE; import static org.hamcrest.Matchers.greaterThan; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThat; /** * Utility methods to keep test code clean. @@ -57,22 +58,21 @@ public class LearnerTestUtils { return result; } - static void testLearner( - LearnerSubjectUnderTest sut, LearnerTestSettings settings) throws IOException { - sut.initFor(settings.getFactoryTarget(), settings.getConfigURL()); + static void testLearner(LearnerSubjectUnderTest sut, LearnerTestSettings settings) { // maybe use factory.createModel() here instead // go through same csv as for training and test some of the values int correct = 0, wrong = 0; try(InputStream is = settings.getDataURL().openStream(); Reader reader = new InputStreamReader(is); CSVReader csvreader = new CSVReader(reader)) { + sut.initFor(settings.getFactoryTarget(), settings.getConfigURL()); int index = 0; for (String[] line : csvreader) { if (++index % 10 == 0) { // only check every 10th line, push an update for every 12 input columns - List<Item> itemsToUpdate = new ArrayList<>(settings.getInputItemNames().length); - for (int i = 0; i < settings.getInputItemNames().length; i++) { - String itemName = settings.getInputItemNames()[i]; + List<Item> itemsToUpdate = new ArrayList<>(settings.getInputItemNames().size()); + for (int i = 0; i < settings.getInputItemNames().size(); i++) { + String itemName = settings.getInputItemNames().get(i); Item item = sut.root.getSmartHomeEntityModel().resolveItem(itemName) .orElseThrow(() -> new AssertionError("Item " + itemName + " not found")); if (settings.getSpecialInputHandler().containsKey(itemName)) { @@ -107,6 +107,10 @@ public class LearnerTestUtils { } } } + } catch (IOException | ClassNotFoundException e) { + throw new AssertionError(e); + } finally { + sut.shutdown(); } assertThat(correct + wrong, greaterThan(0)); double accuracy = correct * 1.0 / (correct + wrong); diff --git a/feedbackloop.learner_backup/src/test/resources/activity_data.csv b/feedbackloop.learner_backup/src/test/resources/activity_data.csv deleted file mode 100644 index c32f9706f812e54cc6dc58a1876c806503530d9e..0000000000000000000000000000000000000000 --- a/feedbackloop.learner_backup/src/test/resources/activity_data.csv +++ /dev/null @@ -1,369 +0,0 @@ -0.2717419,8.698134,4.471172,0.043741,0.515962,0.854318,1.8818425,4.9320555,8.145074,0.2374878,-0.032836914,0.3381958,working -0.2813187,8.604761,4.55856,0.041658,0.510887,0.857407,1.8818425,4.9320555,8.145074,0.2374878,-0.032836914,0.3381958,working -0.23822308,8.622718,4.406528,0.03991,0.512086,0.856781,1.8818425,4.9320555,8.145074,0.2374878,-0.032836914,0.3381958,working -0.11731588,8.619126,4.4783545,0.038642,0.513641,0.855887,2.0590134,5.7125654,6.4547677,0.2374878,-0.032836914,0.3381958,working -0.24181437,8.669404,4.486734,0.04219,0.515633,0.854455,2.0829554,4.6112323,7.302315,0.30133057,0.005004883,0.3652954,working -0.19632454,8.66701,4.4556093,0.041381,0.51905,0.852327,0.21547815,-1.0773908,9.294291,0.0087890625,-0.002319336,0.5358887,working -0.23343466,8.623915,4.4328647,0.042787,0.516075,0.853984,0.7757214,3.490746,9.370906,0.10900879,0.048583984,0.53826904,working -0.18555063,8.669404,4.437653,0.043233,0.516444,0.853727,1.1109096,2.1978772,9.299079,0.056274414,0.01751709,0.55133057,working -0.21547815,8.698134,4.4125137,0.043405,0.515751,0.854099,0.36391866,-0.8283938,9.763555,-0.009521484,-0.016784668,0.5675049,working -0.3890578,8.66701,4.4520183,0.039945,0.519914,0.851807,1.1875241,-1.8243817,7.465121,0.04333496,-0.003479004,0.5588989,working -0.12808979,8.670602,4.3634324,0.039883,0.521765,0.850612,1.1875241,-1.8243817,7.465121,0.04333496,-0.003479004,0.5588989,working -0.10654198,8.6574335,4.414908,0.040269,0.516884,0.853285,1.2066777,-1.1444284,9.648633,1.2207031E-4,-0.055358887,0.5834961,working -0.08140286,8.76637,4.1539397,0.039312,0.527554,0.84693,0.44532153,-2.1452048,9.543288,-0.05847168,-0.039367676,0.52716064,working -0.17956513,8.698134,4.1814733,0.041489,0.52054,0.850801,0.6368576,-0.6512229,9.998186,0.034851074,-0.028747559,0.53570557,working -0.02633622,8.651448,4.3873744,0.040486,0.520068,0.850974,1.508347,0.19632454,9.749189,0.08312988,-0.020568848,0.57818604,working -0.010773907,8.610746,4.4963107,0.047136,0.515427,0.852877,0.9720459,-1.3694834,9.696517,-0.0056152344,-0.049438477,0.5576782,working -0.21906945,8.929175,3.6032736,0.047929,0.528586,0.845337,1.043872,-0.59855044,10.160992,0.0053100586,-0.024353027,0.52856445,working --0.15801731,8.755595,4.423288,0.048114,0.519962,0.849552,1.1923125,-0.08140286,9.849746,0.052856445,-0.003540039,0.5180054,working -0.05865794,8.665813,4.332308,0.045692,0.518734,0.850569,2.5905263,0.90021986,9.873688,0.12976074,-0.029785156,0.532959,working -0.06584055,8.605958,4.477157,0.048499,0.515082,0.852584,2.327164,2.0398598,8.001422,0.20056152,0.003479004,0.48242188,working -0.05865794,8.631097,4.3861775,0.046089,0.516823,0.851908,2.0111294,1.2354081,9.006987,0.16241455,-0.02746582,0.46368408,working --0.017956512,8.627506,4.4675803,0.047409,0.513421,0.853688,1.1779473,-0.51235914,9.773131,0.057434082,-0.011291504,0.5081787,working --0.18794483,8.659827,4.4783545,0.041528,0.515836,0.852265,0.9959879,0.7469909,9.672575,0.07373047,-0.002319336,0.5019531,working --0.027533319,8.591593,4.620809,0.046683,0.510911,0.854784,3.0550013,3.6487634,8.48984,0.25952148,-0.010253906,0.43432617,working --0.08140286,8.716091,4.332308,0.042494,0.517638,0.85112,1.3455414,-0.49320555,9.89763,0.034423828,-0.038757324,0.4852295,working --0.22146365,8.836999,4.1036615,0.038773,0.531266,0.842643,2.2266076,3.2369606,8.465898,0.26757812,0.02154541,0.43115234,working -1.0761937,11.745954,2.4648306,0.526819,0.526535,0.468877,-9.270349,-2.4372973,1.0390835,-0.7081909,-0.08135986,0.6744995,walking --1.8710686,8.711303,-1.5227122,0.54441,0.510167,0.46156,-9.270349,-2.4372973,1.0390835,-0.7081909,-0.08135986,0.6744995,walking --0.63087213,9.64983,-2.3463178,0.218222,0.734833,0.617411,-11.353305,-1.388637,0.16759412,-0.6591797,-0.101745605,0.7449341,walking --0.10055647,9.488221,0.008379706,0.520795,-0.531387,-0.481526,-8.963891,-0.51235914,-0.3878607,-0.51483154,-0.0703125,0.83361816,walking -2.2026656,10.09156,-3.4476504,0.512742,-0.552492,-0.477334,-15.552734,-0.7517793,0.48362875,-0.6300659,-0.072631836,0.772522,walking -0.09816227,9.627085,-1.8674773,0.54604,-0.514798,-0.454878,-13.747506,-2.2984335,-2.5139117,-0.34100342,-0.17474365,0.42633057,walking --0.7781156,8.385692,-3.1112652,0.50674,-0.550405,-0.502163,-10.745177,-2.27928,1.2785037,-0.03930664,-0.30413818,0.26208496,walking --0.18674773,9.277532,-1.1683705,0.548857,-0.509167,-0.470289,-9.150639,1.6232687,0.16280572,0.030029297,-0.38269043,0.19390869,walking --0.6823475,10.573992,-2.553416,0.679861,-0.341986,-0.292999,-7.52737,-2.1452048,0.9672575,0.3192749,-0.3623047,0.18859863,walking --0.2765303,11.451467,-0.30645782,0.563436,0.508963,0.451556,-8.384495,-0.80924016,-0.7134721,0.16137695,-0.67700195,0.019042969,walking -1.2916719,9.548077,-1.3000516,0.51573,0.538749,0.509015,-7.28795,-1.0630256,0.23463176,0.26348877,-0.6868286,-0.1529541,walking -0.8379706,10.741586,0.45489833,0.54087,0.51788,0.4762,-9.370906,-0.48362875,1.7286136,0.18725586,-0.7562256,-0.11633301,walking -0.59495914,9.346964,-1.6639702,0.502446,0.561492,0.502803,-9.605537,-2.5905263,0.05746084,0.13793945,-0.74884033,-0.1798706,walking -0.93014735,10.562021,-0.16519992,0.523761,0.542328,0.462923,-9.481039,-2.4277205,-0.7230489,0.42114258,-0.3991089,-0.73480225,walking -0.08738836,9.709685,-1.5191209,0.562041,0.534199,0.433607,-12.689269,-1.6472107,0.34476504,0.7036743,0.074035645,-0.63220215,walking -0.18076223,9.118318,-1.3084313,0.254447,-0.716063,-0.601747,-8.485051,-2.4133554,-1.3599066,0.15490723,0.4364624,-0.1907959,walking --0.18435353,9.961076,-1.3263878,0.261971,-0.708253,-0.606287,-10.0508585,-1.0199299,0.8331822,0.113220215,0.6170654,-0.04260254,walking --0.688333,8.623915,-0.7649474,0.467896,-0.599728,-0.506172,-6.7803793,-0.521936,0.2681506,-0.20965576,0.58239746,-0.020568848,walking --0.22744916,9.506178,-1.1575965,0.49718,-0.585651,-0.491387,-9.394848,-2.0494366,-0.33997664,-0.18896484,0.69592285,0.20074463,walking --1.1348516,10.6877165,-0.9516952,0.519502,-0.571514,-0.466647,-8.714894,-0.7278373,-0.8810662,-0.18896484,0.69592285,0.20074463,walking -0.8882488,10.172963,-0.6715736,0.52846,-0.55123,-0.467232,-9.56723,-0.80445176,-0.4357447,-0.22363281,0.6533203,0.2144165,walking --0.8511387,8.486248,-1.1384429,0.491758,-0.577708,-0.488183,-11.305421,-4.060566,-1.0055647,-0.18109131,0.64508057,0.1262207,walking -0.023942016,11.11987,1.3946224,0.51358,-0.536144,-0.482607,3.8546648,5.104438,6.799533,0.1015625,-0.27069092,-0.4434204,walking --0.5470751,9.082404,-1.6232687,0.42116,-0.616129,-0.547717,-8.441956,-1.6424223,0.320823,-0.20501709,0.6883545,0.33581543,walking --1.4808137,9.829395,-4.5178585,0.00118,0.776792,0.629414,-9.768343,-3.2609026,0.272939,-0.20495605,0.69610596,0.3265381,walking --1.4257472,9.561244,-0.8643068,0.450442,0.612177,0.47736,-9.768343,-3.2609026,0.272939,-0.20495605,0.69610596,0.3265381,walking --1.5466543,11.438298,-2.468422,0.496624,0.573871,0.452744,-9.768343,-3.2609026,0.272939,-0.20495605,0.69610596,0.3265381,walking --2.6252422,8.619126,-2.7030537,0.552147,0.5078,0.450302,-8.1881695,-1.2641385,0.038307227,-0.34222412,0.49102783,-0.016540527,walking --0.21308395,9.40203,-2.1691468,0.599439,0.476026,0.396271,-6.339846,-1.3503298,-0.033518825,-0.35205078,0.44171143,-0.16430664,walking --0.08140286,8.789114,-2.3690627,0.593409,0.464892,0.410283,-8.432379,-4.2999864,1.4700398,-0.24761963,0.57470703,0.45324707,walking --0.8559271,9.961076,-0.90021986,0.555447,0.518125,0.43304,-9.509769,-2.006341,-2.1499932,0.13470459,0.65411377,0.0036010742,walking --0.2801216,8.352173,-0.33638534,0.558818,0.514925,0.445665,-7.8290396,-3.596091,-0.79008657,0.16339111,0.60461426,-0.7661743,walking --0.08738836,9.898827,-1.9524715,0.508351,0.559775,0.486663,-10.352529,-2.0590134,0.22505496,0.59747314,0.28381348,-0.71154785,walking -2.1930888,7.1550717,-3.1411927,0.192016,0.739159,0.626426,-8.556877,-1.412579,0.78529817,0.6008911,0.26306152,-0.72491455,walking --0.92895025,11.055226,-0.23822308,0.493986,-0.554274,-0.504623,-13.939042,-2.0590134,1.3934253,0.64434814,0.144104,-0.7451172,walking -0.21188685,8.973468,-1.0235212,0.550447,-0.505433,-0.448153,-13.024457,-2.873042,1.1875241,0.5584717,0.3137207,-0.7282715,walking --0.24779987,12.925097,-3.788824,0.53726,-0.52702,-0.453356,-11.741165,-2.5570073,1.3982137,0.6694946,0.21734619,-0.6765747,walking --2.1547816,13.4183035,-6.009446,0.323083,-0.661886,-0.619246,-8.001422,-2.4995465,1.6376339,0.4973755,0.46984863,-0.6560669,walking --1.2593501,8.961497,-1.7465701,0.196693,-0.740158,-0.62706,-12.808979,-2.5761611,0.10055647,0.5979004,0.381958,-0.6482544,walking --0.1328782,9.147048,-2.9053638,0.022181,0.777414,0.627034,-7.6710224,-1.5753847,-0.320823,0.4567871,0.2935791,-0.8391113,walking -0.7338228,9.568427,-6.634333,0.393491,0.730379,0.484185,-11.674128,0.17238252,1.7142484,0.7868042,0.18414307,-0.5524292,walking --1.9716251,8.117541,-4.0761285,0.469076,0.718339,0.409424,-11.674128,0.17238252,1.7142484,0.7868042,0.18414307,-0.5524292,walking -0.32561144,9.016563,3.6092591,-0.018518,-0.561261,-0.827409,-12.650962,-2.0111294,0.5746084,0.78063965,0.17840576,-0.39233398,walking -0.090979666,9.075222,3.503914,0.010144,0.564181,0.825586,-8.2169,-0.18195933,0.24899697,0.74591064,0.1239624,-0.62054443,walking -0.19991584,9.054871,3.7086184,-0.012561,-0.560571,-0.82801,-9.385271,-4.0462008,-1.5562311,0.256958,0.36480713,-0.27624512,walking -0.21667525,9.060856,3.6415808,0.012755,0.558465,0.829429,-9.710882,-0.7757214,3.6870706,0.14190674,0.45703125,-0.21124268,walking -0.22744916,9.060856,3.645172,0.012841,0.558664,0.829293,-10.529699,-3.1316159,-0.272939,-0.29626465,0.49450684,0.17242432,walking -0.19512744,9.060856,3.6140475,0.01255,0.557529,0.830062,-9.509769,-0.8283938,0.9959879,-0.1918335,0.40795898,-0.080078125,walking -0.1328782,9.076419,3.5685577,-0.010446,-0.561843,-0.827177,-9.572019,-2.4947581,-1.6136919,0.13330078,0.41436768,-0.2218628,walking --1.5095441,11.198878,-1.8387469,0.261779,-0.680799,-0.637011,-1.958457,-0.10055647,4.4675803,-0.04296875,-0.19110107,-0.9154053,dancing --0.05267244,-5.6156,2.4037786,0.352709,-0.731645,-0.528224,18.703505,12.378023,14.5088625,-0.5602417,-0.23596191,-0.7937622,dancing -0.07062895,-1.5753847,-0.81761986,0.339088,-0.677723,-0.589453,18.703505,12.378023,14.5088625,-0.5602417,-0.23596191,-0.7937622,dancing -2.2732944,3.4225113,-2.6755204,0.118016,0.877354,0.45141,-12.794614,11.975797,11.530476,-0.47833252,-0.43554688,-0.7303467,dancing --4.5561657,13.062764,-2.8646624,0.381358,-0.792455,-0.433683,-12.794614,11.975797,11.530476,-0.371521,-0.3826294,-0.53393555,dancing -4.5980644,-4.882974,2.19668,0.276273,-0.733631,-0.604661,-12.794614,11.975797,11.530476,-0.371521,-0.3826294,-0.53393555,dancing --1.8016368,11.6442,-5.7664347,0.219061,-0.663912,-0.707763,-1.8626889,-9.198523,-16.357185,-0.7172241,-0.3291626,-0.37512207,dancing --1.7992426,27.91759,-1.6220716,-0.082716,0.809359,0.578657,-3.1411927,-0.93373865,-0.31124622,-0.35992432,0.33746338,-0.79608154,dancing -0.5793968,1.2126632,-4.6244006,-0.030779,0.801127,0.590978,-3.1411927,-0.93373865,-0.31124622,-0.35992432,0.33746338,-0.79608154,dancing -0.48123455,35.582626,-8.6299,0.514118,0.515082,0.556824,1.2880806,3.8355112,2.3894134,-0.4446411,-0.15338135,-0.85528564,dancing -3.2692823,-1.8004397,-0.7769185,0.514916,0.374323,0.534814,-2.9400797,-4.3047748,-3.7732618,-0.40649414,-0.029296875,-0.8713379,dancing -2.4863784,-4.0258503,0.1352724,0.543841,-0.486144,-0.546646,-12.861651,-5.33907,-3.265691,-0.34906006,0.54486084,-0.69177246,dancing -0.39145198,8.514978,-7.3430166,0.520221,-0.546999,-0.566261,-10.213664,-8.327033,1.3072342,-0.07220459,0.12145996,-0.6904297,dancing --4.309563,26.964697,-0.6811504,0.555781,-0.51674,-0.545712,-7.431602,3.940856,14.346057,-0.18426514,0.19262695,-0.8668823,dancing --5.368997,26.76957,-7.6746135,0.573843,-0.547145,-0.523433,-12.871228,-8.714894,10.793061,-0.087768555,0.31750488,-0.8586426,dancing --3.2513258,10.072407,-9.166202,0.561235,-0.526834,-0.535287,-7.393295,-1.9249382,-6.129156,-0.55218506,0.30267334,-0.60998535,dancing --1.0989386,8.825027,-1.2078748,0.494579,-0.582964,-0.569548,-7.393295,-1.9249382,-6.129156,-0.55218506,0.30267334,-0.60998535,dancing --1.4999673,9.7803135,-5.5521536,0.461249,-0.606122,-0.597372,-7.393295,-1.9249382,-6.129156,-0.55218506,0.30267334,-0.60998535,dancing --4.3993454,13.245921,-4.8722005,0.505116,-0.582591,-0.566936,-8.111555,-4.3718123,-3.0789435,-0.10809326,0.3184204,-0.6734009,dancing --2.7748797,12.2080345,-7.835025,0.412957,-0.585669,-0.636403,-8.111555,-4.3718123,-3.0789435,-0.10809326,0.3184204,-0.6734009,dancing --0.9995792,16.71871,-6.7013707,0.363318,-0.656258,-0.61907,-8.111555,-4.3718123,-3.0789435,-0.10809326,0.3184204,-0.6734009,dancing --6.169858,26.574442,-2.6120741,0.446443,0.638707,0.565161,-25.617958,-7.728483,6.229713,-0.18395996,0.6801758,0.0079956055,dancing -3.4823663,-2.4756045,-2.802413,0.631561,0.453375,0.3784,5.9807158,-0.56982,6.612785,-0.5132446,0.11016846,-0.84606934,dancing -0.19632454,-0.35913026,1.483208,0.637244,0.476061,0.351114,-2.7341783,1.8435353,-4.3526587,-0.50219727,0.082214355,-0.8566284,dancing -3.6008794,5.6778493,-4.009091,0.637278,0.483459,0.382699,-13.038822,-9.873688,3.86903,-0.30413818,0.54803467,-0.48510742,dancing -2.6862943,2.0003555,-2.4121583,0.420848,-0.549301,-0.628842,5.559336,-8.508993,7.0581064,0.47381592,0.25909424,-0.46484375,dancing --0.12449849,25.859772,-6.409278,0.444236,0.699106,0.454563,-8.408437,-7.28795,-3.0933087,0.8930054,0.19561768,-0.31585693,dancing -1.4915876,3.345897,3.9971197,0.471195,0.545347,0.476621,-8.408437,-7.28795,-3.0933087,0.8930054,0.19561768,-0.31585693,dancing --6.293159,17.597382,-3.558981,0.51224,0.55481,0.428982,-5.2241483,-10.91756,-4.7884035,0.8930054,0.19561768,-0.31585693,dancing --0.9816227,8.230068,-5.3127337,0.362911,-0.699678,-0.583309,-17.152061,-12.521675,1.9201498,0.5169678,-0.24389648,-0.71276855,dancing -1.5526398,8.35337,-1.8387469,0.421293,-0.607088,-0.605932,-6.4978633,8.327033,3.86903,0.9624634,-0.013122559,-0.2140503,dancing -2.8167782,9.326612,-3.752911,0.216582,0.808251,0.528818,-11.228806,-10.730812,-6.2967505,0.8629761,-0.12542725,-0.012512207,dancing --3.5003228,9.1255,0.077811554,0.340029,0.607215,0.516562,-1.661576,5.559336,9.792285,0.6323242,0.07775879,-0.52948,dancing --6.82946,7.5082164,3.2094274,0.311356,0.579539,0.380038,-12.976573,-3.0597897,-3.596091,0.7932739,-0.4605713,0.19799805,dancing --6.5565214,5.717354,5.6658783,0.185591,0.464146,0.413321,-20.580557,3.8498764,-0.4261679,0.7647095,-0.4713745,0.23999023,dancing --0.093373865,5.5102553,6.8689647,0.253226,0.141213,0.429836,-22.682667,-7.1059904,-6.631939,0.83862305,-0.53723145,-0.048095703,dancing --0.02873042,5.6898203,7.9870567,0.261946,0.140491,0.440384,-14.781801,4.036624,3.1603463,0.82159424,-0.46600342,-0.3283081,dancing -0.9911995,5.329493,7.752425,0.259802,0.132426,0.445474,-9.816227,8.015787,-11.880029,0.41210938,0.028564453,-0.8978882,dancing -0.9911995,5.329493,7.752425,0.259802,0.132426,0.445474,35.975273,-13.852851,-0.81881696,0.15344238,0.34429932,-0.8980713,dancing -1.8866309,5.0721164,7.60997,0.258374,0.13855,0.457876,-4.343082,6.9623384,-5.425261,0.5442505,-0.30700684,-0.7702637,dancing -1.8866309,5.0721164,7.60997,0.258374,0.13855,0.457876,-4.43885,-6.0285997,-7.4842744,0.62213135,-0.49639893,-0.57073975,dancing -1.8866309,5.0721164,7.60997,0.258374,0.13855,0.457876,-2.858677,-5.7987566,-6.8091097,-0.5181885,-0.24584961,-0.33776855,dancing -1.2940661,5.0960584,7.704541,0.252565,0.146955,0.465843,-10.146626,-0.56982,1.8195933,-0.29083252,-0.015625,-0.39385986,dancing -1.2940661,5.0960584,7.704541,0.252565,0.146955,0.465843,-14.130578,-14.020445,5.544971,0.028686523,0.005493164,-0.94610596,dancing -1.2940661,5.0960584,7.704541,0.252565,0.146955,0.465843,-0.62728083,-1.0390835,-0.6464345,0.01763916,-0.029052734,-0.96429443,dancing --0.62129533,5.445612,8.038532,0.246227,0.138322,0.452051,0.5554548,1.5275006,-4.2185836,-0.27026367,-0.5075073,-0.7207031,dancing --0.62129533,5.445612,8.038532,0.246227,0.138322,0.452051,-10.429143,-2.0685902,-4.7788267,-0.1798706,-0.34783936,-0.91845703,dancing --0.62129533,5.445612,8.038532,0.246227,0.138322,0.452051,-34.993652,-0.6607997,-3.3566709,0.14996338,0.07019043,-0.5793457,dancing --1.2545617,2.8526914,9.387665,0.200543,0.135893,0.410051,-9.988609,-5.473145,0.2633622,-0.07659912,0.23321533,-0.5091553,dancing --1.2545617,2.8526914,9.387665,0.200543,0.135893,0.410051,-37.52193,11.377247,0.0,-0.5796509,0.2685547,-0.3302002,dancing --5.3486466,4.1635165,10.986992,0.177058,0.151285,0.376394,-26.522966,11.042058,6.775591,0.3161621,-0.24066162,-0.6817627,dancing --1.3850456,4.0773253,9.271546,0.181064,0.078282,0.317588,-7.153875,-4.6782703,-3.3279405,-0.6854248,-0.4020996,-0.6055298,dancing -0.19871874,2.9364884,9.163807,0.182012,0.063067,0.334532,-7.153875,-4.6782703,-3.3279405,-0.6854248,-0.4020996,-0.6055298,dancing --0.45609543,3.3566709,8.334216,0.185752,0.072793,0.364497,7.4268136,-4.3957543,-0.2825158,-0.49023438,-0.60131836,-0.59381104,dancing --0.82480246,4.06296,9.226056,0.163756,0.171797,0.438793,-23.266851,-6.7947445,-24.181437,-0.19897461,-0.46099854,-0.64434814,dancing --0.7733272,3.810372,8.857349,0.150553,0.173511,0.465805,-23.266851,-6.7947445,-24.181437,0.10510254,-0.565979,-0.81585693,dancing --1.3467385,4.226963,8.487445,0.144853,0.167943,0.469881,-12.722788,-11.554418,-6.4499793,-0.34527588,-0.11248779,-0.9309082,dancing --1.2916719,3.9552212,8.185776,0.129444,0.189504,0.47238,-12.722788,-11.554418,-6.4499793,-0.34527588,-0.11248779,-0.9309082,dancing --2.1428106,1.1192893,8.376115,0.081862,0.190805,0.454552,-7.517793,-6.2249246,-12.588713,-0.43927002,-0.20568848,-0.8723755,dancing --0.545878,2.268506,8.230068,0.064164,0.196495,0.435339,-16.213533,-18.239029,29.783869,0.4555664,-0.20837402,-0.8644409,dancing --0.545878,1.7525556,6.8557963,0.108653,0.169757,0.457975,-16.213533,-18.239029,29.783869,0.4555664,-0.20837402,-0.8644409,dancing --1.0031705,1.6496049,9.600749,0.164427,0.091194,0.481398,-4.783615,-2.2649148,-5.7843914,-0.09460449,-0.28289795,-0.9168701,dancing -0.58298814,2.610877,9.801862,0.177686,0.056519,0.443821,-16.146496,-38.264133,21.619642,0.28320312,-0.12322998,-0.92407227,dancing -0.7769185,2.5558102,9.7084875,0.177548,0.021465,0.421464,-12.976573,-2.2361844,-12.0093155,0.24395752,-0.09832764,-0.9067383,dancing -0.61411273,2.8203697,8.512584,0.175761,-0.006402,0.396688,-10.658986,-23.669079,12.938266,0.8140869,-0.20648193,-0.49694824,dancing -0.7015011,3.028665,8.292317,0.193947,-0.012867,0.351924,-19.780895,-32.307358,25.005043,0.87231445,-0.18859863,-0.38006592,dancing -1.6591818,3.040636,9.016563,0.183839,-0.017427,0.343706,-5.2145715,1.3455414,1.7286136,0.74017334,0.33502197,-0.05407715,dancing -1.7705121,3.335123,9.296685,0.17411,-0.021688,0.338191,-19.9437,-57.436897,13.22557,0.94873047,0.014221191,-0.25457764,dancing -0.9959879,3.321955,9.203311,0.169907,-0.021603,0.328727,-23.841461,-51.566315,18.727446,0.9489746,0.04437256,-0.17047119,dancing -1.7908629,3.2860417,9.175778,0.162457,-0.019116,0.328205,-3.1364043,1.7669208,1.1444284,0.7150879,0.40179443,-0.17193604,dancing -2.0590134,2.219425,8.789114,0.154137,-0.02028,0.338588,-3.7972038,-0.9911995,-0.37349546,0.65319824,0.4500122,-0.2597046,dancing -0.8834604,3.1136594,9.155427,0.136216,-0.019107,0.313152,-2.2984335,-5.6551046,-9.524135,0.5107422,0.5120239,-0.46636963,dancing -1.0163386,1.8854338,9.555259,0.120914,-0.030812,0.298579,-9.691729,-5.554548,1.1013328,0.91864014,-0.030639648,-0.012817383,dancing -1.0079589,1.8100165,9.533711,0.108573,-0.041892,0.286177,-8.992621,-5.602432,2.6862943,0.92559814,-0.26239014,0.014038086,dancing -1.0079589,1.8100165,9.533711,0.108573,-0.041892,0.286177,-1.0295067,-0.34955344,1.1971009,0.6725464,0.17822266,-0.704895,dancing -2.078167,1.0642227,9.43914,0.085724,-0.074001,0.251005,9.251195,8.858546,-6.493075,0.43548584,0.62939453,-0.42596436,dancing -1.7956513,1.4999673,9.661801,0.085047,-0.07941,0.249626,5.9807158,34.648888,20.09214,0.48736572,0.45159912,-0.29840088,dancing -1.8686744,1.7956513,9.903615,0.095007,-0.076599,0.250747,-0.866701,13.9438305,13.512875,0.51031494,0.40283203,-0.38781738,dancing -1.8686744,1.7956513,9.903615,0.095007,-0.076599,0.250747,7.029376,38.16836,8.255207,0.237854,0.40441895,-0.4666748,dancing -1.4401124,1.9476831,8.74123,0.11099,-0.061563,0.259082,7.029376,38.16836,8.255207,0.237854,0.40441895,-0.4666748,dancing -1.4401124,1.9476831,8.74123,0.11099,-0.061563,0.259082,-8.350976,25.033773,8.178593,0.13439941,-0.10437012,-0.6239624,dancing -1.4401124,1.9476831,8.74123,0.11099,-0.061563,0.259082,-26.072857,-32.71437,26.508602,0.095703125,-0.4041748,-0.8901367,dancing -1.9632454,2.018312,8.313866,0.127513,-0.038076,0.259911,-23.611618,-39.442078,9.32781,-0.39178467,-0.1159668,-0.7161865,dancing -1.9632454,2.018312,8.313866,0.127513,-0.038076,0.259911,5.085284,-2.5713725,-2.0254946,-0.26672363,-0.5751343,-0.7036743,dancing -0.60932434,3.0681696,9.052477,0.131991,-0.040674,0.246552,5.085284,-2.5713725,-2.0254946,-0.26672363,-0.5751343,-0.7036743,dancing -0.60932434,3.0681696,9.052477,0.131991,-0.040674,0.246552,20.03468,24.880545,20.781672,-0.01727295,-0.61883545,-0.5725708,dancing -0.60932434,3.0681696,9.052477,0.131991,-0.040674,0.246552,-30.391996,-23.621195,-8.815451,-0.819397,-0.37023926,-0.4265747,dancing -1.2485762,2.5833437,10.242394,0.133648,-0.039705,0.240514,9.193734,17.228676,13.867216,-0.18328857,-0.8397827,-0.44335938,dancing -0.5279215,3.6966474,8.180987,0.131563,-0.038393,0.260185,-18.928558,0.9816227,5.1235914,-0.37872314,-0.8082886,-0.45074463,dancing --0.18435353,2.6312277,10.752359,0.129343,-0.058427,0.246766,45.80108,30.669724,5.133168,0.066223145,0.19677734,-0.58691406,dancing -0.36750996,4.045004,7.961918,0.157725,-0.01845,0.269816,45.844173,29.257145,1.8291701,0.068725586,0.21868896,-0.59124756,dancing -0.89303726,4.1742907,7.603985,0.205324,0.023198,0.278158,45.844173,29.257145,1.8291701,0.068725586,0.21868896,-0.59124756,dancing -0.019153614,5.0374002,8.525752,0.219525,-0.022294,0.221374,32.407913,17.774553,0.2873042,0.125,0.24633789,-0.6143799,dancing --0.4321534,5.793968,7.854179,0.229523,-0.022137,0.194461,-23.54458,-8.623915,-1.9488802,0.27172852,-0.0010375977,-0.82891846,dancing --1.6292542,6.754043,9.066842,0.263673,0.048986,0.172589,-15.016433,-1.8914193,3.739743,0.65216064,0.24005127,-0.44763184,dancing --0.49081135,6.030994,9.817424,0.268913,0.07796,0.179818,24.837448,30.837318,16.112978,0.5783081,0.38201904,-0.30615234,dancing --0.08619126,6.1100025,6.56131,0.310198,0.037761,0.16616,-15.275007,-3.122039,10.601525,0.023925781,-0.6676636,-0.72424316,dancing --0.6847417,6.6079965,6.578069,0.332459,0.024177,0.126753,-32.752678,-1.6807296,-7.240066,-0.11669922,-0.29608154,-0.92437744,dancing --0.89543146,7.0724716,7.289147,0.337729,0.014951,0.078682,22.060175,6.6606693,-5.391742,-0.2277832,-0.43133545,-0.788147,dancing --0.5506664,6.6427126,6.7947445,0.340486,0.011528,0.070576,0.5315128,3.3087866,12.061988,0.1798706,-0.7470093,-0.63500977,dancing --0.037110128,6.4739213,6.2644286,0.353686,0.004541,0.061581,1.0151415,1.2737153,8.805874,0.074279785,-0.78570557,-0.5996704,dancing --0.6871359,6.7348895,6.752846,0.355992,0.006114,0.028282,0.9864111,-0.4357447,7.675811,-0.029907227,0.05633545,-0.97631836,dancing -0.7781156,0.62608373,13.4422455,0.109537,-0.017382,0.502022,7.422025,5.7508726,-0.4357447,0.4711914,0.31848145,-0.57958984,lying -1.067814,1.0450691,9.329007,0.069728,-0.027419,0.479298,3.1794999,-4.5298295,2.336741,0.93481445,0.28710938,-0.050476074,lying -1.0295067,0.93732995,9.343372,0.069772,-0.027098,0.478409,-0.63206923,-10.333375,0.6607997,0.8916626,0.05255127,0.02935791,lying -1.0905589,0.89423436,9.528923,0.068825,-0.027936,0.478198,-0.8714894,-10.299856,1.0965444,0.6711426,0.023498535,-0.107910156,lying --0.034715924,0.8750807,9.471462,0.050216,-0.022737,0.47624,2.303222,-10.812215,0.8283938,0.6668091,0.022766113,-0.10839844,lying -0.92775315,0.82360536,9.508572,0.100342,-0.034871,0.493959,7.551312,-8.355764,7.1059904,0.5140381,0.25543213,0.29107666,lying -1.2150574,1.0666169,9.757569,0.079846,-0.02702,0.486489,7.1873937,-2.1691468,2.6479871,0.5656128,0.23803711,0.42132568,lying -1.270124,1.2413936,9.423578,0.085681,-0.033578,0.482435,7.3549876,-10.132261,-3.572149,0.71087646,0.12390137,0.34332275,lying -1.2354081,1.1647792,9.36492,0.085307,-0.034933,0.482168,5.3007627,-7.0245876,4.0174704,0.5527344,0.15118408,0.33569336,lying -1.7525556,2.005144,6.588843,0.082507,-0.001699,0.511765,4.232949,-7.5225816,-2.9161377,0.67077637,0.40789795,0.21044922,lying -1.922544,1.2425907,8.761581,0.066092,-0.016159,0.517305,4.232949,-7.5225816,-2.9161377,0.67077637,0.40789795,0.21044922,lying -0.3172317,-0.41060558,10.044873,0.033376,-0.008348,0.513688,9.457097,-10.299856,-5.3725886,0.67077637,0.40789795,0.21044922,lying --13.785813,-1.9165585,7.9930425,-0.248631,0.355075,0.407095,9.457097,-10.299856,-5.3725886,0.6039429,0.4309082,0.3334961,lying --5.4061074,-0.47046062,8.224083,-0.137367,0.24702,0.442219,6.114791,-10.481815,-3.371036,0.6013794,0.335083,0.20037842,lying --5.3881507,0.25378537,7.69257,-0.122974,0.247411,0.439031,4.9224787,-10.601525,-4.927267,0.7946167,0.35272217,0.16192627,lying --2.2158337,-1.5490485,8.249222,-0.039781,-0.0025,0.49737,2.777274,-2.4756045,-0.7422025,0.48950195,0.41723633,0.2475586,lying -0.89303726,1.6603789,11.309011,0.043675,0.021625,0.501122,12.181698,-3.7588966,2.3319526,0.41363525,0.42785645,0.15966797,lying -4.092888,0.6548142,11.572374,0.148896,-0.06608,0.423493,3.6535518,-9.174581,0.5410896,0.56378174,0.13085938,0.08392334,lying -4.9524064,2.9053638,6.775591,0.157319,-0.08853,0.485426,-2.72939,0.1436521,9.14585,0.115478516,-0.1104126,0.04650879,lying -1.3611037,0.36511576,10.160992,0.109675,-0.119889,0.537302,-0.08619126,-4.8602295,7.5082164,0.2835083,-0.10949707,0.026611328,lying -2.542642,0.48123455,8.775947,0.090738,-0.064833,0.538508,-0.08619126,-4.8602295,7.5082164,0.2835083,-0.10949707,0.026611328,lying -1.2354081,0.8331822,9.369708,0.062437,-0.030422,0.540841,-1.0390835,-6.1387334,7.335834,0.31292725,-0.050720215,0.061523438,lying -1.0007763,0.8702923,9.41041,0.061722,-0.018469,0.540189,0.8619126,-6.4068837,7.651869,0.3065796,-0.026733398,0.085876465,lying -0.9828198,0.91578215,9.32781,0.062559,-0.016057,0.539085,0.20111294,-5.78918,8.279149,0.272583,-0.02557373,0.08099365,lying -0.90381116,0.6631939,9.522937,0.055965,-0.027886,0.536139,4.7979803,-7.6135616,-7.8912888,0.7335205,0.4847412,0.1340332,lying -0.8319851,0.81881696,9.482236,0.052538,-0.025674,0.535042,4.7979803,-7.6135616,-7.8912888,0.7335205,0.4847412,0.1340332,lying -1.1707647,0.78769237,9.234436,0.057437,-0.030304,0.535808,5.386954,-8.183381,7.2592196,0.39520264,0.2668457,-0.05029297,lying -0.6332663,0.7541735,9.598354,0.056614,-0.028472,0.536826,5.386954,-8.183381,7.2592196,0.39520264,0.2668457,-0.05029297,lying -0.8583213,0.58777654,9.500193,0.049152,-0.024994,0.538068,2.5187001,-0.8475474,8.42759,0.24157715,0.23150635,0.036376953,lying -0.8858546,0.60573304,9.479841,0.049036,-0.024114,0.53807,5.707777,-8.652645,7.651869,0.3416748,0.26013184,0.0068359375,lying -0.8595184,0.6572084,9.441534,0.053508,-0.021819,0.538046,5.080496,-7.192182,5.2959743,0.38079834,0.28118896,0.014709473,lying -0.81163436,0.63087213,9.417592,0.049244,-0.020966,0.538258,5.171476,-7.345411,5.0613422,0.39465332,0.28356934,0.016540527,lying -0.80445176,0.676362,9.507375,0.052132,-0.025991,0.537735,5.171476,-7.345411,5.0613422,0.39465332,0.28356934,0.016540527,lying -3.705027,6.211756,6.081272,0.356814,0.06642,0.569911,-0.92416185,-2.384625,8.930372,0.019104004,-0.083984375,0.032104492,lying --1.7429788,9.594764,-3.9264908,0.599053,0.489213,0.356771,-1.6376339,-0.521936,9.011775,-0.09851074,-0.09906006,0.01361084,lying -1.804031,6.775591,6.495469,0.358314,0.125564,0.496893,3.98874,4.213795,7.2113357,-0.4078369,0.07171631,-0.27856445,getting up -0.7565677,7.321469,5.853823,0.385424,0.166314,0.485998,3.98874,4.213795,7.2113357,-0.4078369,0.07171631,-0.27856445,getting up --0.51116204,11.372458,-1.721431,0.551661,0.315508,0.400456,-1.1779473,-12.981361,-1.2737153,-0.008178711,0.651001,-0.75683594,getting up --0.044292733,10.01734,-2.3319526,0.60771,0.386845,0.366552,-1.1779473,-12.981361,-1.2737153,-0.008178711,0.651001,-0.75683594,getting up -0.047884032,8.288726,-5.097255,0.667071,0.518986,0.325706,-3.53863,-9.212888,-1.733402,0.11566162,0.6757202,-0.7201538,getting up -0.78170687,7.4375877,-7.711724,0.729606,0.524644,0.281481,-3.145981,-9.653421,-1.0965444,0.10369873,0.6723633,-0.72540283,getting up -0.7314286,7.952341,-6.0800753,0.724444,0.514214,0.306981,-3.0550013,-9.308656,-0.047884032,0.10662842,0.6362915,-0.7576904,getting up -1.0642227,7.839813,-6.0585275,0.719183,0.510162,0.315935,-2.5474305,-8.580819,1.4460979,0.10662842,0.6362915,-0.7576904,getting up -1.1563994,9.003395,-4.086902,0.679054,0.488935,0.36551,-5.329493,-8.010999,1.3072342,0.25878906,0.5993042,-0.74658203,getting up -0.8678981,9.075222,-4.358644,0.679095,0.478453,0.368605,-6.373365,-9.217676,-0.641646,0.34362793,0.61724854,-0.6595459,getting up --2.4013844,9.002198,1.472434,0.471214,0.442282,0.390479,-2.6862943,-0.79487497,9.212888,0.1642456,-0.03149414,-0.97473145,getting up --1.9596541,7.3849154,5.662287,0.318185,0.351412,0.431604,-2.6862943,-0.79487497,9.212888,0.1642456,-0.03149414,-0.97473145,getting up --2.5067291,5.7748146,6.3793507,0.250726,0.297848,0.445006,-2.6862943,-0.79487497,9.212888,0.1642456,-0.03149414,-0.97473145,getting up --2.6048915,4.1706996,7.156269,0.175619,0.239031,0.455325,-2.8921957,-1.3838485,8.954314,0.16912842,-0.022399902,-0.97161865,getting up -0.45250413,1.0618285,9.482236,0.053052,0.00286,0.452231,-2.9017725,-1.1971009,9.222465,0.16912842,-0.022399902,-0.97161865,getting up --3.9755719,2.445677,9.829395,0.087005,0.11265,0.448801,5.803545,7.3645644,-2.0638018,0.168396,-0.022338867,-0.97283936,getting up --0.80924016,8.744822,4.5801077,0.408321,0.294136,0.43778,-4.453215,4.960786,12.354081,0.12347412,0.13775635,-0.7609863,getting up --0.2837129,9.783905,-1.5370775,0.612064,0.41741,0.367859,-7.9152308,-8.145074,4.3861775,0.029846191,0.517395,-0.6730957,getting up --0.5303157,9.660604,-2.7928362,0.650772,0.436042,0.332186,-4.2281604,-7.627927,5.985504,-0.20056152,0.18762207,-0.91448975,getting up --0.39743748,9.652225,-2.8491,0.664107,0.438354,0.320754,-4.501099,-3.083732,7.6375036,0.20495605,0.15795898,-0.8401489,getting up -0.7015011,1.0821792,9.532514,0.069863,-0.014044,0.437128,7.9487495,5.315128,1.2210429,-0.3390503,-0.5656738,-0.69989014,getting up -0.7529764,1.0666169,9.522937,0.06915,-0.014728,0.43757,7.9487495,5.315128,1.2210429,-0.3390503,-0.5656738,-0.69989014,getting up -0.7410054,1.009156,9.451111,0.066262,-0.016157,0.437731,7.9487495,5.315128,1.2210429,-0.3390503,-0.5656738,-0.69989014,getting up -0.7098808,0.9576807,9.455899,0.064499,-0.017663,0.438077,7.9487495,5.315128,1.2210429,-0.3390503,-0.5656738,-0.69989014,getting up -0.5303157,1.0199299,9.560047,0.05964,-0.007167,0.445017,7.9487495,5.315128,1.2210429,-0.3390503,-0.5656738,-0.69989014,getting up -0.34835634,1.0175357,9.540894,0.058427,-0.005304,0.452726,7.9487495,5.315128,1.2210429,-0.3390503,-0.5656738,-0.69989014,getting up -0.36990416,1.4556746,9.358934,0.068614,9.66E-4,0.45346,7.9487495,5.315128,1.2210429,-0.3390503,-0.5656738,-0.69989014,getting up --3.9025488,2.3906105,9.835381,0.101116,0.100239,0.436387,6.133945,7.4603324,-3.016694,-0.36853027,-0.63287354,-0.65545654,getting up --3.429694,4.3658266,7.8745294,0.185402,0.204235,0.42461,6.133945,7.4603324,-3.016694,-0.36853027,-0.63287354,-0.65545654,getting up --1.4915876,8.674192,3.9240966,0.436043,0.334635,0.423488,4.6351743,2.801216,8.925584,-0.08874512,-0.20245361,-0.798584,getting up --0.5590461,9.657013,-3.466804,0.654102,0.438002,0.32678,1.7190368,2.2984335,11.48738,-0.023803711,-0.11303711,-0.7922363,getting up --0.33159694,9.408015,-3.0083144,0.660632,0.438496,0.323987,2.906561,3.3806129,0.33997664,-0.20080566,0.13085938,-0.74224854,getting up --0.6536171,9.713276,-2.019509,0.63986,0.431322,0.337232,2.906561,3.3806129,0.33997664,-0.20080566,0.13085938,-0.74224854,getting up --0.45729253,9.628283,-1.7154455,0.625291,0.423314,0.346692,-1.9440918,-6.301539,4.903325,-0.27905273,0.54156494,-0.5644531,getting up --0.80325466,9.676167,-2.147599,0.638433,0.440608,0.326434,-3.3135753,-11.650186,2.767697,-0.23632812,0.56103516,-0.60369873,getting up --3.4584243,5.5629277,-11.432313,0.745335,0.555948,0.158843,-0.0047884034,-0.61291564,8.322245,0.028930664,0.048828125,-0.90875244,getting up --0.60214174,8.731653,-8.986636,0.759024,0.528473,0.211023,6.4739213,-7.015011,4.381389,-0.38146973,0.55023193,-0.72198486,getting up --0.049081136,6.603208,-4.7500963,0.72917,0.473651,0.244622,3.739743,-5.8945246,4.2904096,-0.25476074,0.4000244,-0.8187866,getting up --1.0139444,9.616311,-1.3455414,0.607241,0.431619,0.333201,-7.9583263,-5.032612,4.429273,-0.119628906,0.545105,-0.7716675,getting up --1.3491327,9.82341,0.17118542,0.58999,0.368623,0.30736,1.685518,-2.1308396,8.585608,-0.038757324,0.05456543,-0.86224365,getting up --0.08140286,9.385271,-1.4616601,0.587527,0.42082,0.374104,-3.8402996,-7.302315,12.708423,-0.038757324,0.05456543,-0.86224365,getting up --1.2988545,10.250774,-1.210269,0.163023,0.730719,0.622134,2.2601264,-0.7517793,8.925584,-0.019226074,0.094055176,-0.84399414,getting up --0.35553896,9.932345,-2.2984335,-0.051033,0.758208,0.649904,2.2601264,-0.7517793,8.925584,-0.06555176,-0.16235352,-0.87646484,getting up -0.05865794,9.607931,-1.271321,0.13732,-0.719487,-0.673311,2.8778305,2.8682537,8.465898,-0.018066406,-0.31695557,-0.8586426,getting up --1.4891934,9.762358,-1.8303672,0.207792,-0.719784,-0.65417,3.3518825,3.2944214,8.66701,-0.045776367,-0.32348633,-0.86376953,getting up --1.3144168,9.7563715,-1.3431472,0.206839,-0.717338,-0.655592,3.3518825,3.2944214,8.66701,-0.045776367,-0.32348633,-0.86376953,getting up --1.2401965,9.7803135,-1.292869,0.21009,-0.716625,-0.654731,-9.409213,-2.4851813,-0.48362875,-0.63067627,0.35913086,0.52178955,getting up --1.2162545,9.840169,-1.2425907,0.210742,-0.71313,-0.657956,-9.409213,-2.4851813,-0.48362875,-0.63067627,0.35913086,0.52178955,getting up --1.2378023,9.872491,-1.1935096,0.211178,-0.709722,-0.661237,-9.409213,-2.4851813,-0.48362875,-0.63067627,0.35913086,0.52178955,getting up --1.198298,9.781511,-1.0151415,0.211256,-0.708644,-0.662221,-9.409213,-2.4851813,-0.48362875,-0.63067627,0.35913086,0.52178955,getting up --1.1911154,9.720459,-1.0055647,0.211676,-0.706189,-0.66437,-9.409213,-2.4851813,-0.48362875,-0.63067627,0.35913086,0.52178955,getting up --1.1671734,9.870096,-1.151611,0.211967,-0.708288,-0.662024,-9.409213,-2.4851813,-0.48362875,-0.63067627,0.35913086,0.52178955,getting up --1.2114661,9.759963,-1.0977415,0.212862,-0.708956,-0.660991,-9.409213,-2.4851813,-0.48362875,-0.63067627,0.35913086,0.52178955,getting up -0.7146692,1.3934253,9.340978,0.089651,-0.00312,0.417283,3.9743748,7.73806,5.6407394,-0.67645264,0.33605957,0.5355835,getting up -0.82599956,1.3455414,9.48463,0.087991,-0.00456,0.416977,2.0973208,1.4173675,8.949526,-0.79937744,0.18200684,0.55792236,getting up -0.6584055,1.5945383,9.496601,0.092038,-0.00257,0.416586,2.0973208,1.4173675,8.949526,-0.79937744,0.18200684,0.55792236,getting up -1.328782,2.9963434,11.656171,0.148971,0.007997,0.423309,2.2170308,2.15957,9.174581,0.1026001,0.14648438,0.9837036,getting up --1.3611037,8.628703,4.1359835,0.438745,0.229936,0.319773,-15.069105,-25.7664,2.0350714,0.08215332,-0.4119873,0.8272705,getting up --4.045004,9.002198,1.3275849,0.491764,0.397139,0.263512,-8.968679,-22.567745,0.92895025,0.09820557,-0.48492432,0.78845215,getting up --3.3542767,9.003395,-1.6184803,0.529851,0.51857,0.276504,-4.903325,-7.61835,-3.098097,0.045166016,-0.80059814,0.5270996,getting up --2.5366566,8.859743,-3.7912183,0.545344,0.563223,0.349472,-4.903325,-7.61835,-3.098097,0.045166016,-0.80059814,0.5270996,getting up -0.29448682,9.293094,-4.8973393,0.629883,0.535572,0.366506,-5.2049947,-5.9663506,-2.0398598,-0.012268066,-0.8010864,0.5418701,getting up --1.6484078,8.002619,-5.0182467,0.607939,0.6292,0.303782,-7.469909,-6.4068837,-0.17717093,0.066833496,-0.6807251,0.3007202,getting up --1.3563153,8.2037325,-2.079364,0.538547,0.561007,0.388253,-9.849746,-6.0046577,0.34955344,-0.057861328,-0.68237305,0.25274658,getting up --0.04070143,9.927557,-1.5753847,0.626124,0.426154,0.347018,-6.861782,-8.949526,5.659893,-0.11682129,-0.40185547,0.8427124,getting up --0.5554548,9.822212,-1.6783354,0.614296,0.428075,0.354046,2.873042,2.6288335,8.350976,0.057556152,0.1303711,0.98083496,getting up --1.246182,9.847352,-0.5434838,0.587803,0.410959,0.341078,4.5537715,2.3463178,8.1642275,0.12390137,0.16320801,0.9719238,getting up --2.15957,7.85777,-7.620744,0.764364,0.48603,0.164172,2.5713725,2.944868,8.844181,0.112854004,0.21234131,0.96325684,getting up --0.81761986,8.972271,-1.769315,0.650518,0.397484,0.293039,-2.4516625,-0.92416185,9.734824,0.018554688,-0.036621094,0.70654297,getting up --0.9876082,9.7240505,-0.521936,0.597225,0.390318,0.332846,-5.544971,-4.975151,7.40766,-6.1035156E-5,-0.12957764,0.6951904,getting up --2.8311436,9.345766,-1.7788919,0.323092,-0.672183,-0.643092,-11.932701,-2.930503,0.7613561,0.37469482,-0.60479736,-0.35321045,getting up -0.5674258,10.207679,1.5729905,0.26551,-0.69882,-0.653699,-11.932701,-2.930503,0.7613561,0.37469482,-0.60479736,-0.35321045,getting up --2.825158,9.901221,-6.5708866,0.212012,-0.720192,-0.656629,-11.932701,-2.930503,0.7613561,0.37469482,-0.60479736,-0.35321045,getting up --5.1116204,7.4148426,-0.60573304,0.216464,-0.724514,-0.648422,-11.932701,-2.930503,0.7613561,0.37469482,-0.60479736,-0.35321045,getting up -0.051475335,9.0476885,3.6942532,0.524853,0.176888,0.27445,3.8833952,-8.441956,4.7165775,0.5126953,-0.41912842,-0.5494385,reading -0.12808979,8.9842415,3.7900212,0.523027,0.174178,0.273199,4.951209,-9.241618,-6.885724,0.6368408,0.5133667,-0.082336426,reading -0.06703765,8.965088,3.6499605,0.523948,0.172769,0.272169,4.951209,-9.241618,-6.885724,0.6368408,0.5133667,-0.082336426,reading -0.045489833,9.010578,3.8175547,0.523228,0.172727,0.271831,4.7500963,-8.7053175,1.0869676,0.46624756,0.45837402,-0.20721436,reading -0.06943185,9.036914,3.776853,0.523728,0.172254,0.271803,5.779603,-8.145074,-3.6966474,0.6072998,0.5275879,-0.047851562,reading -0.034715924,9.011775,3.7122097,0.528377,0.161318,0.252932,5.9902925,-8.240842,-4.7548847,0.65093994,0.5335083,-0.018737793,reading -0.06943185,9.009381,3.7313633,0.503882,0.228535,0.357397,5.2720323,-7.6949644,2.767697,0.4074707,0.42651367,-0.20239258,reading -0.22505496,8.893262,3.8031895,0.482578,0.25763,0.418032,5.497087,-9.639056,-2.5713725,0.5736084,0.5039673,-0.097229004,reading -0.1352724,9.010578,3.8295257,0.483855,0.259558,0.416577,6.6846113,-6.6893997,-2.1643584,0.4557495,0.62420654,-0.16363525,reading -0.08020575,8.9842415,3.7900212,0.483776,0.261572,0.41761,6.0621185,-7.0006456,-4.0701427,0.4835205,0.66693115,-0.14245605,reading -0.016759412,8.956709,3.9025488,0.489382,0.264482,0.413744,6.3685765,-7.1634517,-3.9983168,0.4979248,0.6590576,-0.14666748,reading -0.46447513,9.993398,2.9735985,0.565463,0.263197,0.325919,5.415684,-7.6614456,-5.0182467,0.5946655,0.635437,-0.07513428,reading -0.19153613,8.400057,4.8973393,0.455782,0.198238,0.385135,6.114791,-7.7332716,-2.906561,0.51586914,0.62298584,-0.12536621,reading -0.24181437,8.479065,4.8386817,0.45569,0.196415,0.383573,6.0046577,-7.6710224,-1.043872,0.4593506,0.60339355,-0.15960693,reading -0.2645593,8.3868885,4.911705,0.455563,0.195669,0.378565,6.5457473,-7.752425,-2.0733786,0.53564453,0.6374512,-0.020568848,reading -0.24899697,8.364143,4.909311,0.456406,0.195833,0.377804,6.325481,-8.528147,-1.388637,0.49041748,0.607666,-0.10461426,reading -0.25139117,8.350976,4.9464207,0.454331,0.194655,0.378158,6.483498,-8.00621,-1.2066777,0.46258545,0.5890503,-0.1472168,reading -0.23223756,8.367735,5.0254292,0.453797,0.192742,0.377,6.919243,-6.9000893,-3.5098996,0.51330566,0.6300049,-0.051452637,reading -0.44891283,8.289924,5.040992,0.468045,0.150584,0.303261,7.469909,-6.7803793,-2.7820623,0.5115967,0.6220093,-0.022644043,reading -0.31124622,8.354567,5.00867,0.475315,0.126131,0.260557,7.469909,-6.7803793,-2.7820623,0.5115967,0.6220093,-0.022644043,reading -0.557849,8.383297,5.044583,0.485259,0.081805,0.185081,7.350199,-5.674258,-2.873042,0.57373047,0.5710449,0.06640625,reading -0.45489833,8.331821,4.9404354,0.480499,0.117909,0.244601,5.257667,-9.32781,0.81402856,0.5319214,0.446167,-0.09173584,reading -0.22984336,8.49343,4.8243165,0.467962,0.167377,0.332289,5.2241483,-9.892841,-0.6655881,0.4977417,0.5111084,-0.18249512,reading -0.25857377,8.425196,4.847061,0.456957,0.186617,0.369656,5.434838,-9.241618,-0.18195933,0.4727173,0.5373535,-0.19946289,reading -0.29807812,8.499416,4.691438,0.46124,0.187768,0.361762,7.809886,-8.6334915,-1.1492168,0.44396973,0.5876465,-0.14300537,reading -0.5422867,8.53892,4.5920787,0.470563,0.186151,0.356845,5.185841,-5.363012,2.3463178,0.17828369,0.5204468,-0.12023926,reading -0.108936176,8.610746,4.4687777,0.473924,0.189529,0.353294,5.185841,-5.363012,2.3463178,0.17828369,0.5204468,-0.12023926,reading -0.41299978,8.645462,4.4005427,0.48497,0.183085,0.348634,8.2169,-6.019023,-2.432509,0.3779297,0.67663574,-0.032714844,reading -0.37588966,8.62152,4.5513773,0.483387,0.183852,0.34884,8.025364,-5.8466406,-1.0055647,0.3779297,0.67663574,-0.032714844,reading -0.2837129,8.623915,4.5441947,0.479515,0.189044,0.356414,7.704541,-6.4978633,-1.364695,0.38781738,0.64263916,-0.079833984,reading -0.35434186,8.644265,4.437653,0.475872,0.203589,0.378237,8.020576,-5.746084,-0.49320555,0.32574463,0.6552124,-0.1182251,reading -0.38307226,8.644265,4.426879,0.479259,0.193537,0.361896,8.336611,-6.0142345,-1.1875241,0.34692383,0.66522217,-0.06640625,reading -0.30885202,8.656237,4.4328647,0.480626,0.196025,0.360675,7.771579,-6.95755,-2.7629087,0.4222412,0.6610718,-0.058654785,reading -0.39743748,8.664616,4.459201,0.482108,0.190997,0.359816,7.771579,-6.95755,-2.7629087,0.4222412,0.6610718,-0.058654785,reading -0.32680854,8.652645,4.5358152,0.480967,0.191436,0.359034,8.236053,-5.1810527,-1.3311762,0.35473633,0.6616821,-0.054382324,reading -0.39983168,8.619126,4.4603977,0.480877,0.189432,0.358086,8.236053,-5.1810527,-1.3311762,0.35473633,0.6616821,-0.054382324,reading -0.31124622,8.639477,4.4675803,0.480206,0.193002,0.358359,7.824251,-4.1371803,-4.687847,0.387146,0.7139282,-0.012817383,reading -0.40462008,8.608353,4.485537,0.482988,0.190831,0.356566,7.335834,-3.4237084,-6.0525417,0.47314453,0.72094727,0.05432129,reading -0.36990416,8.639477,4.5202527,0.481752,0.190689,0.356889,7.872135,-5.00867,-4.55856,0.548645,0.7122803,0.122802734,reading -0.46088383,8.717288,4.4807487,0.481568,0.189589,0.35649,7.5465236,-6.3829417,0.18674773,0.34552002,0.6011963,-0.16253662,reading -0.4333505,8.64666,4.5513773,0.480823,0.189283,0.356862,7.5465236,-6.3829417,0.18674773,0.34552002,0.6011963,-0.16253662,reading -0.2717419,8.622718,4.423288,0.478732,0.193337,0.357637,7.038953,-7.3166804,-0.91458505,0.4180298,0.6279297,-0.11242676,reading -0.22146365,8.611943,4.453215,0.47913,0.193361,0.356561,8.24563,-5.3821654,-3.6296098,0.48815918,0.6576538,0.07128906,reading -0.21308395,8.669404,4.5238442,0.479402,0.190629,0.353405,7.7093296,-6.397307,2.030283,0.3267212,0.6272583,-0.1003418,reading -0.20470424,8.603564,4.578911,0.4785,0.190347,0.35378,8.269572,-6.301539,-1.9871874,0.36401367,0.6604614,-0.061462402,reading -0.21068975,8.65025,4.4807487,0.480444,0.185876,0.351681,8.269572,-6.301539,-1.9871874,0.36401367,0.6604614,-0.061462402,reading -0.32561144,8.652645,4.759673,0.4795,0.189287,0.35033,8.010999,-2.4229321,-1.8770541,0.19390869,0.604126,-0.1749878,reading -0.40581718,8.622718,4.4005427,0.484372,0.183214,0.344614,8.010999,-2.4229321,-1.8770541,0.19390869,0.604126,-0.1749878,reading -0.4225766,8.644265,4.453215,0.491422,0.170771,0.329321,8.010999,-2.4229321,-1.8770541,0.19390869,0.604126,-0.1749878,reading -0.30047232,8.616732,4.5082817,0.508734,0.029415,0.088808,8.365341,-6.8330517,-0.7661445,0.4449463,0.5628662,0.008117676,reading -0.38307226,8.470686,4.823119,0.505399,0.003563,0.039837,8.101978,-4.3287168,-3.821146,0.62957764,0.53759766,0.21777344,reading -0.30765492,8.507795,4.6782703,0.505728,-0.006423,0.021294,8.111555,-3.9695864,-5.57849,0.75024414,0.42193604,0.28771973,reading -0.2633622,8.694544,4.408922,0.520918,-0.013196,0.007811,8.135497,-5.094861,-3.3901896,0.6911621,0.43804932,0.26019287,reading -0.23463176,8.668207,4.3742065,0.521188,-0.014667,0.007118,8.135497,-5.094861,-3.3901896,0.6911621,0.43804932,0.26019287,reading -0.1604115,8.700529,4.498705,0.521065,-0.012916,0.009618,8.135497,-5.094861,-3.3901896,0.6911621,0.43804932,0.26019287,reading -0.25498247,8.746018,4.2102036,0.427971,0.295937,0.538508,7.4268136,-3.5194764,-5.315128,0.4312744,0.7504883,0.06402588,reading -0.46926352,8.799889,4.2437224,0.355216,0.371939,0.669981,7.9966335,-4.4196963,-4.6351743,0.19732666,0.829895,-0.12286377,reading -0.22744916,8.631097,3.679888,0.307022,0.415636,0.723846,6.339846,-8.384495,-0.31124622,-0.0017089844,0.7738037,-0.48883057,reading -0.2837129,8.944737,4.1862617,0.328889,0.430042,0.691728,6.3302693,-8.992621,-1.3024458,-0.026672363,0.729126,-0.54486084,reading --0.90261406,9.451111,0.664391,0.41849,0.560944,0.532071,6.8809357,-8.700529,-0.6368576,-0.041748047,0.70129395,-0.5609131,reading --2.0949266,5.5461683,-4.320337,0.532796,0.687411,0.338894,7.350199,-7.0724716,0.9816227,-0.05670166,0.6612549,-0.5805054,reading --0.6775591,10.178948,-1.2785037,0.481581,0.567819,0.459069,6.5840545,-9.121908,0.770933,0.01727295,0.7211304,-0.48657227,reading --0.47405192,9.61272,2.1583729,0.431698,0.44596,0.54865,8.0924015,-7.7907324,-2.4660277,0.13513184,0.8187866,-0.307312,reading --0.5793968,9.610326,2.112883,0.424366,0.449894,0.549505,3.6727054,-7.144298,-2.9640217,0.16827393,0.77459717,-0.36462402,reading --0.40222588,9.55047,2.1320367,0.430287,0.449814,0.549681,6.421249,-7.608773,-2.1068976,0.101745605,0.7675781,-0.4169922,reading --0.4297592,9.606734,2.12246,0.426088,0.452766,0.552639,6.421249,-7.608773,-2.1068976,0.101745605,0.7675781,-0.4169922,reading --0.36391866,9.574412,2.2038627,0.424412,0.453767,0.556486,6.397307,-8.312668,-2.3175871,0.09124756,0.7698364,-0.4336548,reading --0.41180268,9.563639,2.2266076,0.42385,0.452525,0.556342,6.3350577,-7.9104424,-6.1530986,0.10070801,0.7746582,-0.4111328,reading --0.10175357,9.544485,2.4301147,0.386091,0.48693,0.611933,6.7324953,-6.7133417,-4.247314,0.11340332,0.8291626,-0.30474854,reading --0.19871874,9.470264,2.0638018,0.333603,0.521783,0.665704,7.091625,-6.1387334,-4.4005427,0.13031006,0.8366089,-0.26818848,reading --0.21667525,9.563639,2.1428106,0.356477,0.510714,0.640012,6.8426285,-6.612785,-4.6160207,0.17901611,0.8216553,-0.24829102,reading --0.22266077,8.842984,-4.537012,0.356985,0.765486,0.472036,3.0071173,-8.690952,-2.801216,0.2524414,0.791687,-0.47131348,reading --1.3934253,9.868899,-1.4269443,0.324254,0.724224,0.54202,3.7014358,-7.824251,-0.038307227,-0.06591797,0.6723633,-0.69799805,reading --0.40102878,9.528923,-1.316811,0.311577,0.703091,0.560119,6.143522,-5.2768207,3.8977604,-0.13586426,0.536499,-0.78045654,reading --0.30885202,10.247183,-1.7669208,0.30072,0.703998,0.560515,2.815581,-0.23463176,8.66701,-0.1743164,-0.044921875,-0.9202881,reading --1.4652514,9.01776,3.4009635,0.26317,0.521783,0.69711,-0.6751649,-5.291186,-8.714894,-0.37243652,0.88983154,-0.23016357,reading --1.6124948,9.473856,3.21661,0.259809,0.520139,0.694731,-0.6751649,-5.291186,-8.714894,-0.37243652,0.88983154,-0.23016357,reading --1.553837,9.440337,3.3387144,0.258307,0.524715,0.685753,-0.6751649,-5.291186,-8.714894,-0.37243652,0.88983154,-0.23016357,reading --0.58298814,9.3421755,2.7593174,0.262307,0.523689,0.684083,-0.6751649,-5.291186,-8.714894,-0.37243652,0.88983154,-0.23016357,reading --0.9576807,9.220071,3.0992942,0.263974,0.522447,0.683864,-0.6751649,-5.291186,-8.714894,-0.37243652,0.88983154,-0.23016357,reading --0.8619126,8.913613,3.0322564,0.268156,0.520667,0.683479,-0.6751649,-5.291186,-8.714894,-0.37243652,0.88983154,-0.23016357,reading --0.88944596,9.701305,2.9616275,0.272036,0.519901,0.681376,-0.6751649,-5.291186,-8.714894,-0.37243652,0.88983154,-0.23016357,reading --0.5231331,8.980651,3.1483753,0.274279,0.520218,0.680266,-0.6751649,-5.291186,-8.714894,-0.37243652,0.88983154,-0.23016357,reading diff --git a/feedbackloop.learner_backup/src/test/resources/activity_data.csv b/feedbackloop.learner_backup/src/test/resources/activity_data.csv new file mode 120000 index 0000000000000000000000000000000000000000..997328a124244ce64ca257785ae7ac4bd29e18e2 --- /dev/null +++ b/feedbackloop.learner_backup/src/test/resources/activity_data.csv @@ -0,0 +1 @@ +../../../src/main/resources/activity_data.csv \ No newline at end of file diff --git a/feedbackloop.learner_backup/src/test/resources/activity_network.eg b/feedbackloop.learner_backup/src/test/resources/activity_network.eg new file mode 120000 index 0000000000000000000000000000000000000000..9fb9ad041a1482c382dc8937be69554d540a46d4 --- /dev/null +++ b/feedbackloop.learner_backup/src/test/resources/activity_network.eg @@ -0,0 +1 @@ +../../../src/main/resources/activity_network.eg \ No newline at end of file diff --git a/feedbackloop.learner_backup/src/test/resources/activity_normalizer.json b/feedbackloop.learner_backup/src/test/resources/activity_normalizer.json new file mode 120000 index 0000000000000000000000000000000000000000..eb750afe0f3ac6d934b4ec646736ed10d17cde1d --- /dev/null +++ b/feedbackloop.learner_backup/src/test/resources/activity_normalizer.json @@ -0,0 +1 @@ +../../../src/main/resources/activity_normalizer.json \ No newline at end of file diff --git a/feedbackloop.learner_backup/src/test/resources/learner_activity_phone_and_watch.json b/feedbackloop.learner_backup/src/test/resources/learner_activity_phone_and_watch.json new file mode 120000 index 0000000000000000000000000000000000000000..b0544decd42f5ac2b3fb8d92019ebba4300d634f --- /dev/null +++ b/feedbackloop.learner_backup/src/test/resources/learner_activity_phone_and_watch.json @@ -0,0 +1 @@ +../../../src/main/resources/learner_activity_phone_and_watch.json \ No newline at end of file diff --git a/feedbackloop.learner_backup/src/test/resources/learner_preferences_brightness_iris.json b/feedbackloop.learner_backup/src/test/resources/learner_preferences_brightness_iris.json new file mode 120000 index 0000000000000000000000000000000000000000..ce4f8226e2ea28143aed36222776651c66c6d093 --- /dev/null +++ b/feedbackloop.learner_backup/src/test/resources/learner_preferences_brightness_iris.json @@ -0,0 +1 @@ +../../../src/main/resources/learner_preferences_brightness_iris.json \ No newline at end of file diff --git a/feedbackloop.learner_backup/src/test/resources/loaded_learner_activity_phone_and_watch.json b/feedbackloop.learner_backup/src/test/resources/loaded_learner_activity_phone_and_watch.json new file mode 120000 index 0000000000000000000000000000000000000000..6264f533f48488fecb13fb7650c5d0f0333d89f8 --- /dev/null +++ b/feedbackloop.learner_backup/src/test/resources/loaded_learner_activity_phone_and_watch.json @@ -0,0 +1 @@ +../../../src/main/resources/loaded_learner_activity_phone_and_watch.json \ No newline at end of file diff --git a/feedbackloop.learner_backup/src/test/resources/loaded_learner_preferences_brightness_iris.json b/feedbackloop.learner_backup/src/test/resources/loaded_learner_preferences_brightness_iris.json new file mode 120000 index 0000000000000000000000000000000000000000..eae6f0e77a2d2566e64a000f1f3c7319eb43c755 --- /dev/null +++ b/feedbackloop.learner_backup/src/test/resources/loaded_learner_preferences_brightness_iris.json @@ -0,0 +1 @@ +../../../src/main/resources/loaded_learner_preferences_brightness_iris.json \ No newline at end of file diff --git a/feedbackloop.learner_backup/src/test/resources/preference_data.csv b/feedbackloop.learner_backup/src/test/resources/preference_data.csv deleted file mode 100644 index 264467a975f3de3001a57bc9902ec5d9308db23f..0000000000000000000000000000000000000000 --- a/feedbackloop.learner_backup/src/test/resources/preference_data.csv +++ /dev/null @@ -1,600 +0,0 @@ -walking,medium,120,70 -walking,bright,120,0 -walking,medium,120,70 -walking,bright,120,0 -walking,bright,120,0 -walking,medium,120,70 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,medium,120,70 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,medium,120,70 -walking,medium,120,70 -walking,dimmer,120,40 -walking,medium,120,70 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,medium,120,70 -walking,bright,120,0 -walking,bright,120,0 -walking,medium,120,70 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,medium,120,70 -walking,dark,120,100 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,medium,120,70 -walking,bright,120,0 -walking,medium,120,70 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,medium,120,70 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,medium,120,70 -walking,dimmer,120,40 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,medium,120,70 -walking,bright,120,0 -walking,dark,120,100 -walking,medium,120,70 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,medium,120,70 -walking,medium,120,70 -walking,medium,120,70 -walking,medium,120,70 -walking,bright,120,0 -walking,medium,120,70 -walking,medium,120,70 -walking,bright,120,0 -walking,dark,120,100 -walking,medium,120,70 -walking,bright,120,0 -walking,dimmer,120,40 -walking,medium,120,70 -walking,medium,120,70 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,medium,120,70 -walking,bright,120,0 -walking,bright,120,0 -walking,medium,120,70 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,medium,120,70 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -walking,medium,120,70 -walking,medium,120,70 -walking,bright,120,0 -walking,medium,120,70 -walking,bright,120,0 -walking,bright,120,0 -walking,bright,120,0 -reading,medium,180,70 -reading,medium,180,70 -reading,medium,180,70 -reading,bright,180,0 -reading,medium,180,70 -reading,bright,180,0 -reading,medium,180,70 -reading,bright,180,0 -reading,medium,180,70 -reading,bright,180,0 -reading,bright,180,0 -reading,medium,180,70 -reading,bright,180,0 -reading,bright,180,0 -reading,medium,180,70 -reading,bright,180,0 -reading,bright,180,0 -reading,medium,180,70 -reading,bright,180,0 -reading,dark,180,100 -reading,medium,180,70 -reading,medium,180,70 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,dimmer,180,40 -reading,medium,180,70 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,dimmer,180,40 -reading,bright,180,0 -reading,medium,180,70 -reading,bright,180,0 -reading,bright,180,0 -reading,medium,180,70 -reading,medium,180,70 -reading,bright,180,0 -reading,bright,180,0 -reading,dimmer,180,40 -reading,bright,180,0 -reading,dark,180,100 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,medium,180,70 -reading,medium,180,70 -reading,dimmer,180,40 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,medium,180,70 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,dimmer,180,40 -reading,bright,180,0 -reading,dimmer,180,40 -reading,medium,180,70 -reading,dimmer,180,40 -reading,bright,180,0 -reading,medium,180,70 -reading,bright,180,0 -reading,medium,180,70 -reading,dimmer,180,40 -reading,bright,180,0 -reading,dark,180,100 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,medium,180,70 -reading,bright,180,0 -reading,bright,180,0 -reading,medium,180,70 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,medium,180,70 -reading,bright,180,0 -reading,medium,180,70 -reading,dimmer,180,40 -reading,medium,180,70 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,bright,180,0 -reading,medium,180,70 -working,medium,240,70 -working,medium,240,70 -working,medium,240,70 -working,medium,240,70 -working,dark,240,100 -working,bright,240,0 -working,bright,240,0 -working,medium,240,70 -working,medium,240,70 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,medium,240,70 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,medium,240,70 -working,bright,240,0 -working,medium,240,70 -working,bright,240,0 -working,bright,240,0 -working,medium,240,70 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,medium,240,70 -working,bright,240,0 -working,medium,240,70 -working,bright,240,0 -working,medium,240,70 -working,bright,240,0 -working,bright,240,0 -working,medium,240,70 -working,medium,240,70 -working,bright,240,0 -working,medium,240,70 -working,bright,240,0 -working,dimmer,240,40 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,medium,240,70 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,medium,240,70 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,medium,240,70 -working,medium,240,70 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,medium,240,70 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,medium,240,70 -working,medium,240,70 -working,bright,240,0 -working,bright,240,0 -working,medium,240,70 -working,medium,240,70 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,medium,240,70 -working,medium,240,70 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,medium,240,70 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,bright,240,0 -working,medium,240,70 -working,medium,240,70 -dancing,medium,300,70 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,dimmer,300,40 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,dimmer,300,40 -dancing,dimmer,300,40 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,medium,300,70 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,medium,300,70 -dancing,dimmer,300,40 -dancing,bright,300,0 -dancing,bright,300,0 -dancing,medium,300,70 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,medium,7,70 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,dimmer,7,40 -lying,bright,7,0 -lying,bright,7,0 -lying,dark,7,100 -lying,bright,7,0 -lying,dark,7,100 -lying,dimmer,7,40 -lying,medium,7,70 -lying,bright,7,0 -lying,medium,7,70 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,medium,7,70 -lying,medium,7,70 -lying,bright,7,0 -lying,bright,7,0 -lying,medium,7,70 -lying,medium,7,70 -lying,bright,7,0 -lying,dimmer,7,40 -lying,bright,7,0 -lying,bright,7,0 -lying,medium,7,70 -lying,bright,7,0 -lying,bright,7,0 -lying,medium,7,70 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,medium,7,70 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,dimmer,7,40 -lying,medium,7,70 -lying,medium,7,70 -lying,dark,7,100 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,medium,7,70 -lying,bright,7,0 -lying,dimmer,7,40 -lying,bright,7,0 -lying,medium,7,70 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,dimmer,7,40 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,medium,7,70 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,dimmer,7,40 -lying,medium,7,70 -lying,medium,7,70 -lying,dark,7,100 -lying,medium,7,70 -lying,medium,7,70 -lying,bright,7,0 -lying,medium,7,70 -lying,medium,7,70 -lying,bright,7,0 -lying,bright,7,0 -lying,medium,7,70 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,bright,7,0 -lying,medium,7,70 -lying,bright,7,0 -lying,medium,7,70 -lying,medium,7,70 -lying,medium,7,70 -lying,medium,7,70 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,medium,60,70 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,medium,60,70 -getting up,dimmer,60,40 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,medium,60,70 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,dimmer,60,40 -getting up,bright,60,0 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,medium,60,70 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,dark,60,100 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,medium,60,70 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,dimmer,60,40 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,dimmer,60,40 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,medium,60,70 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,dimmer,60,40 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,medium,60,70 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,bright,60,0 -getting up,medium,60,70 -getting up,medium,60,70 diff --git a/feedbackloop.learner_backup/src/test/resources/preference_data.csv b/feedbackloop.learner_backup/src/test/resources/preference_data.csv new file mode 120000 index 0000000000000000000000000000000000000000..2a30bc618d90a2e2ce6c6445b241b3734fdfe46c --- /dev/null +++ b/feedbackloop.learner_backup/src/test/resources/preference_data.csv @@ -0,0 +1 @@ +../../../src/main/resources/preference_data.csv \ No newline at end of file diff --git a/feedbackloop.learner_backup/src/test/resources/preference_network.eg b/feedbackloop.learner_backup/src/test/resources/preference_network.eg new file mode 120000 index 0000000000000000000000000000000000000000..29979f04ddec79c371de61cfce01a679692614d8 --- /dev/null +++ b/feedbackloop.learner_backup/src/test/resources/preference_network.eg @@ -0,0 +1 @@ +../../../src/main/resources/preference_network.eg \ No newline at end of file diff --git a/feedbackloop.learner_backup/src/test/resources/preference_normalizer.json b/feedbackloop.learner_backup/src/test/resources/preference_normalizer.json new file mode 120000 index 0000000000000000000000000000000000000000..d72f3f68b5e6b37e1ace422429ec8e8a605d47f9 --- /dev/null +++ b/feedbackloop.learner_backup/src/test/resources/preference_normalizer.json @@ -0,0 +1 @@ +../../../src/main/resources/preference_normalizer.json \ No newline at end of file