python - 来自 WiFi 数据的位置

标签 python location wifi wireless svm

我们正在尝试根据 WiFi 数据确定一个人在哪个房间。这是我们的数据示例:

1.SSID:无线,BSSID:00:24:6c:61:da:81,功能:[ESS],级别:-54,频率:2437
2.SSID: wireless, BSSID: 00:24:6c:61:da:c1, capabilities: [ESS], level: -57, frequency: 2462
3.SSID: visitor, BSSID: 00:24:6c:61:da:c0, capabilities: [ESS], level: -58, frequency: 2462
4.SSID: visitor, BSSID: 00:24:6c:61:cb:40, capabilities: [ESS], level: -59, frequency: 2437
5.SSID: wireless, BSSID: 00:24:6c:61:cb:41, capabilities: [ESS], level: -59, frequency: 2437

这是从一个时间点的单次扫描中获取的(我只显示了 5 个,但有 60 个足够接近的接入点出现在单次扫描中)。这是我们的问题:

有 3 个房间,房间 A、房间 B 和房间 C,它们彼此相邻,除了房间 B 位于房间 A 和房间 C 之间。房间 A 和房间之间有几个唯一的 AP C,但房间 B 中没有唯一的 AP。

我们尝试使用多类 SVM,类为房间 A、房间 B 和房间 C,数据点为(例如)上面的 1、2、3、4 和 5(所以在上面data 有 5 个数据点,每个数据点都有标签 Room A)。我们通过在每个房间进行大约 100 次扫描来训练模型(每次扫描包含大约 50 个数据点)。这导致新测试数据的准确性极低。

有没有其他人成功完成此操作或有任何建议?这就是我们用来实现 SVM 的方法:

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

谢谢!

最佳答案

这是一个聪明的想法,但我认为您在此处追求精度和准确度时可能会遇到一些困难,因为它不仅与接入点的距离有关,而且实际上有多种因素决定了信号强度。例如,与大书架或电视机相比,房间内的位置可能会比其他信号更强烈地影响其中一个信号。甚至您的 body 相对于设备的位置也可能会干扰信号。

我建议尝试一些 feature selection techniques和/或其他一些学习算法,它们可以更好地研究数据中的哪些维度为您提供最一致的信息。例如,简单的统计分析可以告诉您给定“位置”内每个信号的信号强度的平均值和标准偏差。然后,您可以比较位置的统计数据,并查看这些信号在不同位置之间是否存在统计上显着的差异。您可能需要考虑以下测试:

关于python - 来自 WiFi 数据的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9882497/

相关文章:

Python 正则表达式匹配搜索字符串的意外部分

Python 3 导入错误 : cannot import name 'maxentropy'

python - 如何为 apache beam 数据流的输出 csv 添加 header ?

java - Android 位置监听器未触发

c# - 发送多个 Ping 而不等待回复 Windows C#

python - tensorflow 中的平均精度(mAP)

Android后台位置更新?

android - 如何将数据库从我的 android 拉到我的桌面上?

android - 用于点对点连接的 Wi-Fi 与蓝牙

windows - 跨多个 Windows 平台收集 wifi bssid 和 rssi 数据的最有效方法