I've looked through the code to get a better understanding of this process, but I couldn't get my head around it. Could you give a more detailed description of this process?
Assuming your the same OrangeTux I talked to in the Gitter chat[1], here's my answers (from Gitter chat) for other who have questions:
> How do you compare the current fingerprint of a user with the one stored in database?
The fingerprints are used to generate priors. Basically a prior is the probability for encountering router X with signal strength Y in room Z. These are real probabilities. When I classify a location, it uses these probabilities and Bayes law to determine new "Bayes probability."
> How do you determine the probability for classification?
You are now referring to the probability on the dashboard (the webpage) I assume. Thanks for the question. This is inherently confusing, since really it is NOT a real probability so its a bit of a misnomer. Lets call them my "probability estimate." Technically speaking, the Bayes probabilities (real) are taken and normalized to the standard normal distribution. Then I determine the "probability estimates" by the proportion of the exponent of the standard normal normalized Bayes probabilities.