Code Monkey home page Code Monkey logo

Comments (6)

sobri909 avatar sobri909 commented on July 29, 2024

Okay, I want to start on this now.

I'll initially be doing it in several smaller stages, so that the small classifier changes can be tested individually in the wild, for improvements / regressions in accuracy results.

Stage 1 will be items 1 and 2 from the notes list. So the stage 1 goal will be classifier feature / weighting tweaks, to hopefully eliminate the bogus transport type results that've been turning up in locations where they obviously shouldn't.

I'll also probably throw in items 3 and 4, because life is short and people want things now, not later. So it's more important to get results quickly rather than achieving an exact mathematical science.

I'll also probably throw in "tram" as a new transport type. Because literally hundreds of people have asked for it, and adding in one more base type will be an interesting first test for whether the other changes have been beneficial or not.

Oh, I guess I'm supposed to be open sourcing the classifier code too. Hmm. I don't have a solid plan for that yet. So I'll eye the code up while I'm going along, and if there's anything base level that I can cleanly open source along the way, I'll do it then. Basically mix in the open sourcing process along with the classifier improvements.

Alright ... time to get this happening.

from locokit.

sobri909 avatar sobri909 commented on July 29, 2024

Stage 1 Todos

  • Stop using coreMotionActivityType [Live in Arc App v2.1.9]
  • Remove the special case rejection of zero stepHz values for walking (Maybe? As above, number hunt first)
  • Ditch pseudo counts for location bound types (car, train, bus, etc)
  • If best match score is too low, fall back to "transport", to avoid the zero pseudo counts causing new regions to be classify everything as walking (or whatever the best bad match happens to be).
  • Add "tram", because I want to give people something more than just "trust me, it's better" in the first iteration

Stage 2 Todos

  • Stop creating empty UD models (ie Arc's private models) for non-core types
  • Ditch the "transport" meta type and consolidate into single classifier
  • Only auto create GD models server side for base types
  • Stop generating / updating GD transport models server side
  • Make sure the zero pseudocount coord maps are definitely happening
  • Only use D2 models for extended types (ie coordinate bound types)

from locokit.

sobri909 avatar sobri909 commented on July 29, 2024

Remove the special case rejection of zero stepHz values for walking (Maybe? As above, number hunt first)

I gave this one a couple of days on my test devices, and it was a disaster.

The pedometer's data is far too gappy to make it feasible. A large portion of walking samples are recorded with zero cadence and zero step counts. Which results in the walking model getting bloated with zero stepHz values, and the classifier treating a large percentage of vaguely moving indoor samples as walking (eg playing with your phone while lying on the couch). If the building produces drifting location data, then the percentage of false positives goes up significantly. It's a mess.

So that's a failed experiment, and definitely not going to ship!

Stop using coreMotionActivityType [Live in Arc App v2.1.9]

This one is on the fence. It'll need more time and data before it becomes clear whether it's helped or hindered.

I haven't been able to observe any positive difference yet, and there has possibly been some slight negative trend. But the activity types that would benefit from this most are types that are going through a rapid geographical coverage expansion at the moment, so they're going through the usual expected downward slope in reported accuracy, before starting to trend upwards.

I'll give the coreMotionActivityType change another week or two before deciding.

from locokit.

dolmens avatar dolmens commented on July 29, 2024

When will you please open sourcing the ML classifiers?

from locokit.

sobri909 avatar sobri909 commented on July 29, 2024

Hi @dolmens! The ML classifiers are already open sourced. Have a look in the develop branch under Timelines/ActivityTypes.

https://github.com/sobri909/LocoKit/tree/develop/LocoKit/Timelines/ActivityTypes

from locokit.

dolmens avatar dolmens commented on July 29, 2024

Fantastic. Thank you for your excellent work. Read that code later.

from locokit.

Related Issues (20)

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.