{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import scipy.stats as stats\n", "from pathlib import Path\n", "import glob\n", "import pickle\n", "\n", "import random\n", "import os\n", "\n", "from sklearn.model_selection import StratifiedKFold\n", "from sklearn.preprocessing import StandardScaler, LabelEncoder\n", "from tqdm import tqdm\n", "import tensorflow as tf\n", "import tensorflow.keras.layers as L\n", "import tensorflow.keras.models as M\n", "import tensorflow.keras.backend as K\n", "import tensorflow_addons as tfa\n", "from tensorflow_addons.layers import WeightNormalization\n", "from tensorflow.keras.callbacks import ReduceLROnPlateau, ModelCheckpoint, EarlyStopping\n", "pd.options.mode.chained_assignment = None\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[]\n" ] } ], "source": [ "from tensorflow.python.client import device_lib\n", "def get_available_gpus():\n", " local_device_protos = device_lib.list_local_devices()\n", " return [x.name for x in local_device_protos if x.device_type == 'GPU']\n", "print(get_available_gpus())\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | site_path_timestamp | \n", "site | \n", "path | \n", "ts_waypoint | \n", "
---|---|---|---|---|
0 | \n", "5a0546857ecc773753327266_046cfa46be49fc1083481... | \n", "5a0546857ecc773753327266 | \n", "046cfa46be49fc10834815c6 | \n", "9 | \n", "
1 | \n", "5a0546857ecc773753327266_046cfa46be49fc1083481... | \n", "5a0546857ecc773753327266 | \n", "046cfa46be49fc10834815c6 | \n", "9017 | \n", "
2 | \n", "5a0546857ecc773753327266_046cfa46be49fc1083481... | \n", "5a0546857ecc773753327266 | \n", "046cfa46be49fc10834815c6 | \n", "15326 | \n", "
3 | \n", "5a0546857ecc773753327266_046cfa46be49fc1083481... | \n", "5a0546857ecc773753327266 | \n", "046cfa46be49fc10834815c6 | \n", "18763 | \n", "
4 | \n", "5a0546857ecc773753327266_046cfa46be49fc1083481... | \n", "5a0546857ecc773753327266 | \n", "046cfa46be49fc10834815c6 | \n", "22328 | \n", "
\n", " | timestamp | \n", "ssid | \n", "bssid | \n", "rssi | \n", "last_timestamp | \n", "path | \n", "floor | \n", "site | \n", "floorNo | \n", "
---|---|---|---|---|---|---|---|---|---|
0 | \n", "1578462618826 | \n", "63159 | \n", "162932 | \n", "-46 | \n", "1578462603277 | \n", "5e15730aa280850006f3d005 | \n", "B1 | \n", "5a0546857ecc773753327266 | \n", "-1 | \n", "
1 | \n", "1578462618826 | \n", "32835 | \n", "65513 | \n", "-49 | \n", "1578462618272 | \n", "5e15730aa280850006f3d005 | \n", "B1 | \n", "5a0546857ecc773753327266 | \n", "-1 | \n", "
\n", " | timestamp | \n", "ssid | \n", "bssid | \n", "rssi | \n", "last_timestamp | \n", "path | \n", "
---|---|---|---|---|---|---|
0 | \n", "1961 | \n", "70537 | \n", "28318 | \n", "-34 | \n", "1571828560156 | \n", "14f45baa63b4d3a700126af6 | \n", "
1 | \n", "1961 | \n", "43838 | \n", "93116 | \n", "-35 | \n", "1571828560159 | \n", "14f45baa63b4d3a700126af6 | \n", "
\n", " | timestamp | \n", "ssid | \n", "bssid | \n", "rssi | \n", "last_timestamp | \n", "path | \n", "floor | \n", "site | \n", "floorNo | \n", "
---|---|---|---|---|---|---|---|---|---|
0 | \n", "1578462618826 | \n", "63159 | \n", "162932 | \n", "3.105926 | \n", "1578462603277 | \n", "5e15730aa280850006f3d005 | \n", "B1 | \n", "5a0546857ecc773753327266 | \n", "-1.340327 | \n", "
1 | \n", "1578462618826 | \n", "32835 | \n", "65513 | \n", "2.810727 | \n", "1578462618272 | \n", "5e15730aa280850006f3d005 | \n", "B1 | \n", "5a0546857ecc773753327266 | \n", "-1.340327 | \n", "
\n", " | timestamp | \n", "ssid | \n", "bssid | \n", "rssi | \n", "path | \n", "floorNo | \n", "floor | \n", "site | \n", "wifi_len | \n", "wifi_mean | \n", "wifi_median | \n", "wifi_std | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "1560500997770 | \n", "[7702, 19396, 18304, 19396, 7702, 7702, 19396,... | \n", "[61027, 55262, 10121, 57287, 45809, 53865, 261... | \n", "[3.204325463643926, 3.1059258532748903, 2.9091... | \n", "5d073b814a19c000086c558b | \n", "0.299386 | \n", "F3 | \n", "5c3c44b80379370013e0fd2b | \n", "0.206 | \n", "0.353603 | \n", "0.350737 | \n", "1.088208 | \n", "
1 | \n", "1560500999681 | \n", "[18304, 7702, 7702, 19396, 19396, 7702, 7702, ... | \n", "[10121, 31140, 61027, 55262, 57287, 53865, 458... | \n", "[2.712327411798748, 2.712327411798748, 2.61392... | \n", "5d073b814a19c000086c558b | \n", "0.299386 | \n", "F3 | \n", "5c3c44b80379370013e0fd2b | \n", "0.220 | \n", "0.299748 | \n", "0.350737 | \n", "1.040317 | \n", "
\n", " | timestamp | \n", "ssid | \n", "bssid | \n", "rssi | \n", "path | \n", "floorNo | \n", "wifi_len | \n", "wifi_mean | \n", "wifi_median | \n", "wifi_std | \n", "site | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "1180 | \n", "[7007, 9522, 15215, 18669, 15215, 19396, 4851,... | \n", "[35106, 10783, 39335, 4531, 48757, 19211, 1176... | \n", "[1.9251305288464635, 1.4331324770012857, 1.334... | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "0.845957 | \n", "0.038 | \n", "0.024464 | \n", "-0.338061 | \n", "1.033093 | \n", "5da1389e4db8ce0c98bd0547 | \n", "
1 | \n", "3048 | \n", "[18669, 9522, 7007, 19396, 15215, 15215, 1264,... | \n", "[4531, 10783, 35106, 19211, 39335, 48757, 6030... | \n", "[2.1219297495845346, 1.4331324770012857, 1.334... | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "0.845957 | \n", "0.040 | \n", "0.075218 | \n", "-0.338061 | \n", "0.991529 | \n", "5da1389e4db8ce0c98bd0547 | \n", "
2 | \n", "4924 | \n", "[9522, 18669, 7007, 19396, 15215, 4851, 15215,... | \n", "[10783, 4531, 35106, 19211, 48757, 11767, 3933... | \n", "[1.4331324770012857, 1.2363332562632146, 1.039... | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "0.845957 | \n", "0.048 | \n", "-0.149461 | \n", "-0.436460 | \n", "0.815521 | \n", "5da1389e4db8ce0c98bd0547 | \n", "
3 | \n", "6816 | \n", "[18669, 4851, 15215, 7007, 9522, 19396, 19396,... | \n", "[4531, 11767, 39335, 35106, 10783, 19211, 5710... | \n", "[1.826730918477428, 1.1379336458941791, 1.0395... | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "0.845957 | \n", "0.052 | \n", "-0.118554 | \n", "-0.534860 | \n", "0.911802 | \n", "5da1389e4db8ce0c98bd0547 | \n", "
4 | \n", "8693 | \n", "[18669, 15215, 7007, 4851, 9522, 19396, 15215,... | \n", "[4531, 48757, 35106, 11767, 10783, 19211, 3933... | \n", "[2.1219297495845346, 1.3347328666322502, 1.334... | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "0.845957 | \n", "0.062 | \n", "-0.182526 | \n", "-0.534860 | \n", "0.905339 | \n", "5da1389e4db8ce0c98bd0547 | \n", "
\n", " | timestamp | \n", "ssid | \n", "bssid | \n", "rssi | \n", "path | \n", "floorNo | \n", "floor | \n", "site | \n", "wifi_len | \n", "wifi_mean | \n", "wifi_median | \n", "wifi_std | \n", "ts_waypoint | \n", "x | \n", "y | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "1560500997770 | \n", "[7702, 19396, 18304, 19396, 7702, 7702, 19396,... | \n", "[61027, 55262, 10121, 57287, 45809, 53865, 261... | \n", "[3.204325463643926, 3.1059258532748903, 2.9091... | \n", "5d073b814a19c000086c558b | \n", "0.299386 | \n", "F3 | \n", "5c3c44b80379370013e0fd2b | \n", "0.206 | \n", "0.353603 | \n", "0.350737 | \n", "1.088208 | \n", "0 | \n", "195.790623 | \n", "93.465301 | \n", "
1 | \n", "1560500999681 | \n", "[18304, 7702, 7702, 19396, 19396, 7702, 7702, ... | \n", "[10121, 31140, 61027, 55262, 57287, 53865, 458... | \n", "[2.712327411798748, 2.712327411798748, 2.61392... | \n", "5d073b814a19c000086c558b | \n", "0.299386 | \n", "F3 | \n", "5c3c44b80379370013e0fd2b | \n", "0.220 | \n", "0.299748 | \n", "0.350737 | \n", "1.040317 | \n", "0 | \n", "193.591333 | \n", "92.973266 | \n", "
2 | \n", "1560501001590 | \n", "[18304, 19396, 7702, 7702, 19396, 7702, 12721,... | \n", "[10121, 57287, 31140, 61027, 55262, 22353, 603... | \n", "[3.1059258532748903, 3.1059258532748903, 2.810... | \n", "5d073b814a19c000086c558b | \n", "0.299386 | \n", "F3 | \n", "5c3c44b80379370013e0fd2b | \n", "0.238 | \n", "0.268875 | \n", "0.350737 | \n", "1.046341 | \n", "0 | \n", "191.394344 | \n", "92.481745 | \n", "
3 | \n", "1560501003516 | \n", "[19396, 7702, 19396, 18304, 7702, 7702, 7702, ... | \n", "[57287, 31140, 55262, 10121, 22353, 53865, 432... | \n", "[3.1059258532748903, 2.8107270221677836, 2.613... | \n", "5d073b814a19c000086c558b | \n", "0.299386 | \n", "F3 | \n", "5c3c44b80379370013e0fd2b | \n", "0.258 | \n", "0.230216 | \n", "0.252337 | \n", "0.995631 | \n", "0 | \n", "189.177791 | \n", "91.985848 | \n", "
4 | \n", "1560501005442 | \n", "[7702, 18304, 19396, 19396, 7702, 7702, 7702, ... | \n", "[31140, 10121, 55262, 57287, 43265, 61027, 612... | \n", "[2.8107270221677836, 2.6139278014297127, 2.613... | \n", "5d073b814a19c000086c558b | \n", "0.299386 | \n", "F3 | \n", "5c3c44b80379370013e0fd2b | \n", "0.282 | \n", "0.210465 | \n", "0.252337 | \n", "0.963630 | \n", "0 | \n", "186.961238 | \n", "91.489950 | \n", "
\n", " | timestamp | \n", "ssid | \n", "bssid | \n", "rssi | \n", "path | \n", "floorNo | \n", "floor | \n", "site | \n", "wifi_len | \n", "wifi_mean | \n", "wifi_median | \n", "wifi_std | \n", "ts_waypoint | \n", "x | \n", "y | \n", "fold | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "1560500997770 | \n", "[7702, 19396, 18304, 19396, 7702, 7702, 19396,... | \n", "[61027, 55262, 10121, 57287, 45809, 53865, 261... | \n", "[3.204325463643926, 3.1059258532748903, 2.9091... | \n", "5d073b814a19c000086c558b | \n", "0.299386 | \n", "F3 | \n", "5c3c44b80379370013e0fd2b | \n", "0.206 | \n", "0.353603 | \n", "0.350737 | \n", "1.088208 | \n", "0 | \n", "195.790623 | \n", "93.465301 | \n", "6.0 | \n", "
1 | \n", "1560500999681 | \n", "[18304, 7702, 7702, 19396, 19396, 7702, 7702, ... | \n", "[10121, 31140, 61027, 55262, 57287, 53865, 458... | \n", "[2.712327411798748, 2.712327411798748, 2.61392... | \n", "5d073b814a19c000086c558b | \n", "0.299386 | \n", "F3 | \n", "5c3c44b80379370013e0fd2b | \n", "0.220 | \n", "0.299748 | \n", "0.350737 | \n", "1.040317 | \n", "0 | \n", "193.591333 | \n", "92.973266 | \n", "6.0 | \n", "
\n", " | timestamp | \n", "ssid | \n", "bssid | \n", "rssi | \n", "path | \n", "floorNo | \n", "floor | \n", "site | \n", "wifi_len | \n", "wifi_mean | \n", "wifi_median | \n", "wifi_std | \n", "ts_waypoint | \n", "x | \n", "y | \n", "fold | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "1560500997770 | \n", "[7702, 19396, 18304, 19396, 7702, 7702, 19396,... | \n", "[61027, 55262, 10121, 57287, 45809, 53865, 261... | \n", "[3.204325463643926, 3.1059258532748903, 2.9091... | \n", "5d073b814a19c000086c558b | \n", "0.299386 | \n", "F3 | \n", "5c3c44b80379370013e0fd2b | \n", "0.206 | \n", "0.353603 | \n", "0.350737 | \n", "1.088208 | \n", "0 | \n", "195.790623 | \n", "93.465301 | \n", "6.0 | \n", "
1 | \n", "1560500999681 | \n", "[18304, 7702, 7702, 19396, 19396, 7702, 7702, ... | \n", "[10121, 31140, 61027, 55262, 57287, 53865, 458... | \n", "[2.712327411798748, 2.712327411798748, 2.61392... | \n", "5d073b814a19c000086c558b | \n", "0.299386 | \n", "F3 | \n", "5c3c44b80379370013e0fd2b | \n", "0.220 | \n", "0.299748 | \n", "0.350737 | \n", "1.040317 | \n", "0 | \n", "193.591333 | \n", "92.973266 | \n", "6.0 | \n", "
\n", " | timestamp | \n", "ssid | \n", "bssid | \n", "rssi | \n", "path | \n", "floorNo | \n", "wifi_len | \n", "wifi_mean | \n", "wifi_median | \n", "wifi_std | \n", "site | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "1180 | \n", "[7007, 9522, 15215, 18669, 15215, 19396, 4851,... | \n", "[35106, 10783, 39335, 4531, 48757, 19211, 1176... | \n", "[1.9251305288464635, 1.4331324770012857, 1.334... | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "0.845957 | \n", "0.038 | \n", "0.024464 | \n", "-0.338061 | \n", "1.033093 | \n", "5da1389e4db8ce0c98bd0547 | \n", "
1 | \n", "3048 | \n", "[18669, 9522, 7007, 19396, 15215, 15215, 1264,... | \n", "[4531, 10783, 35106, 19211, 39335, 48757, 6030... | \n", "[2.1219297495845346, 1.4331324770012857, 1.334... | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "0.845957 | \n", "0.040 | \n", "0.075218 | \n", "-0.338061 | \n", "0.991529 | \n", "5da1389e4db8ce0c98bd0547 | \n", "
\n",
"Client\n", "
| \n",
"\n",
"Cluster\n", "
| \n",
"
\n", " | timestamp | \n", "ssid | \n", "bssid | \n", "rssi | \n", "path | \n", "floorNo | \n", "wifi_len | \n", "wifi_mean | \n", "wifi_median | \n", "wifi_std | \n", "site | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "1573190312033 | \n", "[7007, 9522, 15215, 18669, 15215, 19396, 4851,... | \n", "[35106, 10783, 39335, 4531, 48757, 19211, 1176... | \n", "[1.9251305288464635, 1.4331324770012857, 1.334... | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "0.845957 | \n", "0.038 | \n", "0.024464 | \n", "-0.338061 | \n", "1.033093 | \n", "5da1389e4db8ce0c98bd0547 | \n", "
1 | \n", "1573190313901 | \n", "[18669, 9522, 7007, 19396, 15215, 15215, 1264,... | \n", "[4531, 10783, 35106, 19211, 39335, 48757, 6030... | \n", "[2.1219297495845346, 1.4331324770012857, 1.334... | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "0.845957 | \n", "0.040 | \n", "0.075218 | \n", "-0.338061 | \n", "0.991529 | \n", "5da1389e4db8ce0c98bd0547 | \n", "
\n", " | timestamp | \n", "ssid | \n", "bssid | \n", "rssi | \n", "path | \n", "floorNo | \n", "wifi_len | \n", "wifi_mean | \n", "wifi_median | \n", "wifi_std | \n", "site | \n", "site_id | \n", "x | \n", "y | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "0.345764 | \n", "[7007, 9522, 15215, 18669, 15215, 19396, 4851,... | \n", "[35106, 10783, 39335, 4531, 48757, 19211, 1176... | \n", "[1.9251305288464635, 1.4331324770012857, 1.334... | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "0.845957 | \n", "0.038 | \n", "0.024464 | \n", "-0.338061 | \n", "1.033093 | \n", "5da1389e4db8ce0c98bd0547 | \n", "19 | \n", "49.430897 | \n", "89.246811 | \n", "
1 | \n", "0.345765 | \n", "[18669, 9522, 7007, 19396, 15215, 15215, 1264,... | \n", "[4531, 10783, 35106, 19211, 39335, 48757, 6030... | \n", "[2.1219297495845346, 1.4331324770012857, 1.334... | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "0.845957 | \n", "0.040 | \n", "0.075218 | \n", "-0.338061 | \n", "0.991529 | \n", "5da1389e4db8ce0c98bd0547 | \n", "19 | \n", "71.179886 | \n", "87.176270 | \n", "
\n", " | timestamp | \n", "path | \n", "site | \n", "x | \n", "y | \n", "t1_wifi | \n", "path_id | \n", "
---|---|---|---|---|---|---|---|
0 | \n", "0.345764 | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "5da1389e4db8ce0c98bd0547 | \n", "49.430897 | \n", "89.246811 | \n", "1180.0 | \n", "5da1389e4db8ce0c98bd0547_00ff0c9a71cc37a2ebdd0f05 | \n", "
1 | \n", "0.345765 | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "5da1389e4db8ce0c98bd0547 | \n", "71.179886 | \n", "87.176270 | \n", "3048.0 | \n", "5da1389e4db8ce0c98bd0547_00ff0c9a71cc37a2ebdd0f05 | \n", "
2 | \n", "0.345766 | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "5da1389e4db8ce0c98bd0547 | \n", "71.408737 | \n", "86.979248 | \n", "4924.0 | \n", "5da1389e4db8ce0c98bd0547_00ff0c9a71cc37a2ebdd0f05 | \n", "
3 | \n", "0.345766 | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "5da1389e4db8ce0c98bd0547 | \n", "71.819069 | \n", "83.849525 | \n", "6816.0 | \n", "5da1389e4db8ce0c98bd0547_00ff0c9a71cc37a2ebdd0f05 | \n", "
4 | \n", "0.345767 | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "5da1389e4db8ce0c98bd0547 | \n", "71.560272 | \n", "86.284660 | \n", "8693.0 | \n", "5da1389e4db8ce0c98bd0547_00ff0c9a71cc37a2ebdd0f05 | \n", "
\n", " | timestamp | \n", "path | \n", "site | \n", "x | \n", "y | \n", "t1_wifi | \n", "
---|---|---|---|---|---|---|
path_id | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
5da1389e4db8ce0c98bd0547_00ff0c9a71cc37a2ebdd0f05 | \n", "0.345764 | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "5da1389e4db8ce0c98bd0547 | \n", "49.430897 | \n", "89.246811 | \n", "1180.0 | \n", "
5da1389e4db8ce0c98bd0547_00ff0c9a71cc37a2ebdd0f05 | \n", "0.345765 | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "5da1389e4db8ce0c98bd0547 | \n", "71.179886 | \n", "87.176270 | \n", "3048.0 | \n", "
5da1389e4db8ce0c98bd0547_00ff0c9a71cc37a2ebdd0f05 | \n", "0.345766 | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "5da1389e4db8ce0c98bd0547 | \n", "71.408737 | \n", "86.979248 | \n", "4924.0 | \n", "
5da1389e4db8ce0c98bd0547_00ff0c9a71cc37a2ebdd0f05 | \n", "0.345766 | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "5da1389e4db8ce0c98bd0547 | \n", "71.819069 | \n", "83.849525 | \n", "6816.0 | \n", "
5da1389e4db8ce0c98bd0547_00ff0c9a71cc37a2ebdd0f05 | \n", "0.345767 | \n", "00ff0c9a71cc37a2ebdd0f05 | \n", "5da1389e4db8ce0c98bd0547 | \n", "71.560272 | \n", "86.284660 | \n", "8693.0 | \n", "
\n", " | \n", " | timestamp | \n", "
---|---|---|
building | \n", "path_id | \n", "\n", " |
5a0546857ecc773753327266 | \n", "046cfa46be49fc10834815c6 | \n", "[0000000000009, 0000000009017, 0000000015326, ... | \n", "
05d052dde78384b0c543d89c | \n", "[0000000000012, 0000000005748, 0000000014654, ... | \n", "|
0c06cc9f21d172618d74c6c8 | \n", "[0000000000011, 0000000011818, 0000000019825, ... | \n", "|
146035943a1482883ed98570 | \n", "[0000000000011, 0000000004535, 0000000011498, ... | \n", "|
1ef2771dfea25d508142ba06 | \n", "[0000000000009, 0000000012833, 0000000021759, ... | \n", "