Coder Social home page Coder Social logo

in4254's Introduction

in4254

IN4254 Smart Phone Sensing

in4254's People

Contributors

dhoepelman avatar

Watchers

 avatar  avatar

in4254's Issues

Write report 1

  • Train and test our app a few times to generate a confusion matrix
  • Wite about K-nn
  • Write about feature vectors used + overlapping window technique

Make a K-NN classifier

Implement a K-NN classifier

  1. [no CSV parsing] Collect samples with activity and remember them as training data set
  2. Collect a measurement
  3. [just x-axis] Calculate the distance to each of the points in the training data set
    • There are numerous possibilities for distance, probably eucledian or manhattan would be most suitable
  4. Select the k points with the least distance (k=sqrt(size of training data set))
  5. The measurement gets the activity that is most common among those k points
    • There needs to be some tie-breaking solution (but ties should be logged)

Finetune activity monitoring

  • Add Mahalanobis distance
  • Add "automated" testing & generation of confusion matrix according to holdout (2N/a;N/a) method. a somewhere between 3 and 10
  • Try removing some features, collapsing multiple features into 1 or adding more (see original paper)
  • Replace STAIRS with LIFT

Make a GUI for localization

  • Make a fragment with a map of 9th floor EWI
  • Allow user to select cell
  • Training button

& GUi elements from lecture

Make measurements windows overlap during testing

Currently our windows overlap during training, as is intended. However, during testing we do not overlap our windows. Not only might this skew results but it also increases the interval of measurements from 2,5s to 5s.

Gather Test data

We need to gather test data for our report

  • Make something that allows us to easily gather test data (e.g. modify TrainFragment or TestFragment)
  • Gather a large enough training set (10 samples per activity?)
  • Take measurements for each activity (~50 measures per activity?) and compile them into a table

Rotation bug training fragment

If the smartphone it turned while training, the training stops.

Solution is probably to create a background taks (headless fragment, AsyncTask) to do the measuring in, instead of directly from the training fragment. This might also be beneficial for the testing fragment.

Save training data in SQLite

I was thinking about sqlite, as this still would enable easy file transfers to analyse data and sqlite also is reasonably easy to use in e..g gnuplot (plot < 'sqlite x.db SELECT * FROM training') while still being a full-flegded SQL database

I was thinking about the following tables:

measurements (ID, timestamp, activity)
measurements_raw_samples (timestamp, measurement_id, X, Y, Z)
features (ID, feature_name)
measurements_features (measurement_ID, feature_ID, value)

I realised there isn't really difference between training data en testing data, as we currently also store an expected activiy with the testing data. Thus we can use our testing data as training data and vice versa :)

What do you think about the features? Should we save them like this or in a flat table?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.