Location from Wi-Fi data

We are trying to determine which room a person is based on based on WiFi data. Here is an example of our data:

1.SSID: wireless, BSSID: 00: 24: 6c: 61: da: 81, features: [ESS], level: -54, frequency: 2437
2.SSID: wireless, BSSID: 00: 24: 6c: 61: da: c1, features: [ESS], level: -57, frequency: 2462
3.SSID: visitor, BSSID: 00: 24: 6c: 61: da: c0, features: [ESS], level: -58, frequency: 2462
4.SSID: visitor, BSSID: 00: 24: 6c: 61: cb: 40, features: [ESS], level: -59, frequency: 2437
5.SSID: wireless, BSSID: 00: 24: 6c: 61: cb: 41, features: [ESS], level: -59, frequency: 2437

This is taken from one scan at a time (and I only show 5, but there are 60 access points close enough to go out on one scan). Here is our problem:

There are 3 rooms, room A, room B and room C, they are all next to each other, except for room B located between room A and room C. There are a couple APs that are unique between room A and room C, but in room B there is no unique access points.

We tried to use SVM with several classes, and the classes are room A, room B and room C, and the data points (for example) are 1, 2, 3, 4 and 5 above (so in the data above there are 5 data points, and each the data point is labeled Room A). We prepared a model with approximately 100 scans in each room (each scan amounted to about 50 data points). This gave extremely low accuracy with the new test data.

Is there anyone who has done this successfully or have any recommendations? This is what we used to implement our SVM:

http://scikit-learn.org/stable/modules/svm.html

Thanks!

+4
source share
2 answers

This is a smart idea, but I think that you may encounter some difficulties when you strive for accuracy and accuracy here, as it is NOT ONLY the DISTANCE from the access point, but in fact MANY SETTING factors determining the signal strength. For example, the location in a room compared to a large bookshelf or a TV can affect one of the signals more than others. Even the position of your body relative to the device can disturb the signal.

I suggest trying some methods of selecting objects and / or some other learning algorithms that can hone better which measurements in your data give you the most consistent information. For example, a simple statistical analysis can tell you the average and standard deviation of the signal level of each signal from a given โ€œlocationโ€. Then you can compare location statistics and see if you have statistically significant differences in any of these signals in different places. You can consider the following tests:

+4
source

I suspect that there are many details to get the right to extract the function and configure hyperparameters (using grid-search). Modify your question by including a script to help you get this data correctly.

0
source

Source: https://habr.com/ru/post/1403576/


All Articles