The Random Forest algorithm is much described elsewhere, but in short it is a very good choice for prediction problems that involves ensemble learning (aggregating a combination of several models to solve a prediction problem). It is very easy to setup and use, and can be great for classification. I was inspired by Pascal van Kooten’s whereami package (which was actually inspired by FIND!), to implement Random Forests as one of the machine learning algorithms available.
Python has come back to FIND. Previous FIND contributor, kootenpv did a great job making a cool new Python package for doing indoor positioning: whereami. The package looks really cool, and I think I will try implementing random forests as well. For a more in-depth writeup, check out Pascal van Kooten’s blog: https://kootenpv.github.io/2016-09-19-predict-where-you-are-indoors.
I’ve rewritten FIND in Go because the server is a bit faster (see below), but the real reason is that it saves me $$ because I can run it on the cheapest Digital Ocean (DO) droplet. I run the FIND server on a droplet with along with a half dozen other services. I only have about 20% of a 500MB of memory to use on my DO machine.
What is internal positioning? Its the ability to monitor your location within a home/office/business to resolution within a single room (or better). Typically that is done using motion sensors, or iBeacons, magnetic fields or Bluetooth dots - but our system allows you to do the same with only your smartphone! What is a framework for internal positioning? Our framework, named FIND (the Framework for Internal Navigation and Discovery), is both a program that runs on a server and an app that runs on a smartphone.