2012-03-27 4 views
4

Мы пытаемся определить, в какой комнате находится человек, на основе данных Wi-Fi. Вот пример из наших данных:Местоположение от WiFi Данные

1.SSID: беспроводное, BSSID: 00: 24: 6c: 61: да: 81, возможности: [ESS], уровень: -54, частота: 2437
2.SSID : wireless, BSSID: 00: 24: 6c: 61: da: c1, возможности: [ESS], уровень: -57, частота: 2462
3.SSID: visitor, BSSID: 00: 24: 6c: 61: da : c0, возможности: [ESS], уровень: -58, частота: 2462
4.SSID: посетитель, BSSID: 00: 24: 6c: 61: cb: 40, возможности: [ESS], уровень: -59, частота: 2437
5.SSID: беспроводное, BSSID: 00: 24: 6c: 61: CB: 41, возможности: [ESS], уровень: -59, частота: 2437

Это взято из одного сканирования при одном (и я показываю только 5, но есть 60 точек доступа, достаточно близких, которые появляются при одном сканировании). Вот наша проблема:

Есть 3 комнаты, комната A, комната B и комната C, они все рядом друг с другом, кроме комнаты B находится между комнатой A и комнатой C. Есть пара точек доступа, которые уникальные между комнатами A и комнатой C, но нет никаких уникальных точек доступа в номере B.

Мы попытались использовать многопрофильный SVM с классами, которые являются комнатами A, комнатой B и комнатой C, а точки данных (например) 1, 2, 3, 4 и 5 выше (поэтому в приведенных выше данных имеется 5 точек данных, и каждая точка данных имеет метку Room A). Мы подготовили модель с примерно 100 сканами в каждой комнате (каждое сканирование составило около 50 точек данных). Это дало чрезвычайно низкую точность для новых данных испытаний.

Есть ли еще кто-нибудь, кто сделал это успешно или имеет какие-либо рекомендации? Это то, что мы использовали для реализации нашего SVM:

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

спасибо!

+0

Я не совсем понимаю, как вы пытаетесь это сделать ... все, что я могу придумать, это использовать пинг для каждого из маршрутизаторов и попытаться сыграть с некоторой тригонометрией, чтобы выяснить позицию, как вы это делаете? – omtinez

+0

Как вы полностью не перенасыщаете пространство спектра Wi-Fi с помощью точек доступа _sixty_ в диапазоне? Не все ли они мешают друг другу и приводят к резкому сокращению пропускной способности? –

ответ

4

Это умная идея, но я думаю, что вы можете столкнуться с некоторыми трудностями, если будете стремиться к точности и точности здесь, так как это НЕ ТОЛЬКО РАССТОЯНИЕ от точки доступа, но на самом деле МНОЖЕСТВО факторов, определяющих силу сигнала. Например, расположение в комнате по сравнению с большой книжной полкой или телевизором может влиять на один из сигналов сильнее других. Даже положение вашего тела относительно устройства может нарушить сигнал.

Я предлагаю попробовать feature selection techniques и/или некоторые другие алгоритмы обучения, которые могут оттачиваться лучше, какие измерения в ваших данных предоставляют вам самую согласованную информацию. Например, простой статистический анализ может рассказать вам среднее и стандартное отклонение уровня сигнала каждого сигнала от заданного «местоположения». Затем вы можете сравнить статистику местоположений и посмотреть, есть ли у вас статистически значимые различия в любом из этих сигналов в разных точках. Вы можете рассмотреть следующие тесты:

  • ANOVA (ANalysis Of VAriance) мог сравнить средства во многих местах
  • T-test является как ANOVA, но только для сравнения пар мест
0

я подозреваю, что есть много детали, чтобы получить право на извлечение функции и настройку гиперпараметров (с использованием grid-поиска). Пожалуйста, отредактируйте свой вопрос, чтобы включить скрипт, чтобы он помог вам правильно получить эти данные.