Context-detection API for Android developed as a university project
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

TrainingDataImporter.java 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /*
  2. * To change this template, choose Tools | Templates
  3. * and open the template in the editor.
  4. */
  5. package uk.co.md87.dsp.extractor.io;
  6. import com.dmdirc.util.MapList;
  7. import com.dmdirc.util.TextFile;
  8. import java.io.IOException;
  9. import java.util.ArrayList;
  10. import java.util.List;
  11. /**
  12. *
  13. * @author chris
  14. */
  15. public class TrainingDataImporter {
  16. private final TextFile textFile;
  17. public TrainingDataImporter(final String file) {
  18. textFile = new TextFile(file);
  19. }
  20. public MapList<String, List<Float[]>> getTrainingData() throws IOException {
  21. final MapList<String, List<Float[]>> res = new MapList<String, List<Float[]>>();
  22. String activity = null;
  23. List<Float[]> data = null;
  24. for (String line : textFile.getLines()) {
  25. if (line.trim().isEmpty()) {
  26. continue;
  27. }
  28. if (line.startsWith("Activity: ")) {
  29. if (activity != null) {
  30. res.add(activity, data);
  31. }
  32. activity = line.trim().substring(10);
  33. data = new ArrayList<Float[]>(100);
  34. } else {
  35. final String[] parts = line.split(":")[1].split(",");
  36. final Float[] values = new Float[parts.length];
  37. for (int i = 0; i < parts.length; i++) {
  38. values[i] = Float.valueOf(parts[i]);
  39. }
  40. data.add(values);
  41. }
  42. }
  43. res.add(activity, data);
  44. return res;
  45. }
  46. }