{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# Introduction\n\n### Implemented Recurrent Neural Network based Model owing to it's Time Series like data.\n ![RNN-Model.jpg](attachment:9e9dc860-0214-42f2-9b18-cc074c3cc863.jpg)\n\n","metadata":{},"attachments":{"9e9dc860-0214-42f2-9b18-cc074c3cc863.jpg":{"image/jpeg":"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GLUVlV4STFNCwV1z1HIIwcDqO1dBRUXZryq1rGD4d8Jaf4c0KbR4GmubSZ2aRbkq2dwAI4AGMDp7muYuPgz4ekumlgutRtonPzQxyqVx6AlScfXNei0U+ZidOLVmjkofhx4ftrrSri1jmgbTX8yIRuMSNkEl8gkngdxXRalpllrFhLY6hbpPbSjDI38x6H3FW6KV2NRS2R50vwa0BZv+P7UzaltxtvOXafb7uf6+9dFo3gjR9B1641fT1milmh8gw7h5ar8vQYz/AADqT3ro6Kbk2JU4rZGP4h8L6T4os1ttUtvM2EmORTteM+x/p0rkI/gzoYdFm1LVJrdDlYWlXH6L/LFej0UKTWwOEZO7RU03TbPSLCKxsLdILaIYVE/n7n3Nef8AxKMniPXdE8HWjHdNL9pumX/lnGMgE/hvOPp616XWJpXhi10zW9R1kyy3N/fN80suP3aDoi4HA4H5ChOzuKcbrlRsQwx28EcEShI41CIo6AAYAp9FFSWFFFFABRRRQAUUUUAFFFFABVzwL/rvE3/YVX/0ktqp1c8C/wCu8Tf9hVf/AEktq0p7nPifgOuooorc4gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArkfHX+u8M/9hVv/SS5rrq5Hx1/rvDP/YVb/wBJLmlLZl0/jRTooorlPSCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKueBf8AXeJv+wqv/pJbVTq54F/13ib/ALCq/wDpJbVpT3OfE/AddRRRW5xBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXI+Ov9d4Z/7Crf8ApJc111c54v0fUdWh0uTS1tXnsr37QY7qZoldTDLHjcqMQcyA9O1J7FQdpJsyKKZ/ZHjD/oG6H/4NZv8A5Go/sjxh/wBA3Q//AAazf/I1Yckju9vT7j6KZ/ZHjD/oG6H/AODWb/5Go/sjxh/0DdD/APBrN/8AI1HJIPb0+4+imf2R4w/6Buh/+DWb/wCRqP7I8Yf9A3Q//BrN/wDI1HJIPb0+4+imf2R4w/6Buh/+DWb/AORqP7I8Yf8AQN0P/wAGs3/yNRySD29PuPopn9keMP8AoG6H/wCDWb/5Go/sjxh/0DdD/wDBrN/8jUckg9vT7j6KZ/ZHjD/oG6H/AODWb/5Go/sjxh/0DdD/APBrN/8AI1HJIPb0+4+imf2R4w/6Buh/+DWb/wCRqP7I8Yf9A3Q//BrN/wDI1HJIPb0+4+imf2R4w/6Buh/+DWb/AORqP7I8Yf8AQN0P/wAGs3/yNRySD29PuPopn9keMP8AoG6H/wCDWb/5Go/sjxh/0DdD/wDBrN/8jUckg9vT7j6KZ/ZHjD/oG6H/AODWb/5Go/sjxh/0DdD/APBrN/8AI1HJIPb0+4+imf2R4w/6Buh/+DWb/wCRqP7I8Yf9A3Q//BrN/wDI1HJIPb0+4+imf2R4w/6Buh/+DWb/AORqP7I8Yf8AQN0P/wAGs3/yNRySD29PuPopn9keMP8AoG6H/wCDWb/5Go/sjxh/0DdD/wDBrN/8jUckg9vT7j6KZ/ZHjD/oG6H/AODWb/5Go/sjxh/0DdD/APBrN/8AI1HJIPb0+4+imf2R4w/6Buh/+DWb/wCRqP7I8Yf9A3Q//BrN/wDI1HJIPb0+4+imf2R4w/6Buh/+DWb/AORqP7I8Yf8AQN0P/wAGs3/yNRySD29PuPopn9keMP8AoG6H/wCDWb/5GrLgs/F7+Kb+z+x6QfKsraXyjqUuxd7zjcD9nySdmCMDG1eTk4OSQe3p9zXopn9keMP+gbof/g1m/wDkaj+yPGH/AEDdD/8ABrN/8jUckg9vT7j6KZ/ZHjD/AKBuh/8Ag1m/+RqP7I8Yf9A3Q/8Awazf/I1HJIPb0+4+imf2R4w/6Buh/wDg1m/+RqP7I8Yf9A3Q/wDwazf/ACNRySD29PuPopn9keMP+gbof/g1m/8Akaj+yPGH/QN0P/wazf8AyNRySD29PuPopn9keMP+gbof/g1m/wDkaj+yPGH/AEDdD/8ABrN/8jUckg9vT7j6KZ/ZHjD/AKBuh/8Ag1m/+RqP7I8Yf9A3Q/8Awazf/I1HJIPb0+4+imf2R4w/6Buh/wDg1m/+RqP7I8Yf9A3Q/wDwazf/ACNRySD29PuPopn9keMP+gbof/g1m/8Akaj+yPGH/QN0P/wazf8AyNRySD29PuPopn9keMP+gbof/g1m/wDkaj+yPGH/AEDdD/8ABrN/8jUckg9vT7j6KZ/ZHjD/AKBuh/8Ag1m/+RqP7I8Yf9A3Q/8Awazf/I1HJIPb0+4+imf2R4w/6Buh/wDg1m/+RqP7I8Yf9A3Q/wDwazf/ACNRySD29PuPopn9keMP+gbof/g1m/8Akaj+yPGH/QN0P/wazf8AyNRySD29PuPopn9keMP+gbof/g1m/wDkaj+yPGH/AEDdD/8ABrN/8jUckg9vT7j6KZ/ZHjD/AKBuh/8Ag1m/+RqP7I8Yf9A3Q/8Awazf/I1HJIPb0+4+imf2R4w/6Buh/wDg1m/+RqP7I8Yf9A3Q/wDwazf/ACNRySD29PuPopn9keMP+gbof/g1m/8Akaj+yPGH/QN0P/wazf8AyNRySD29PuPq54F/13ib/sKr/wCkltVD+yPGH/QN0P8A8Gs3/wAjVteENH1HSYdUk1RbVJ729+0CO1maVUUQxR43MiknMZPTvVwi09TGvUjKNkzo6KKK1OUKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArn7P8A5KHrP/YKsP8A0bd10FcDbWPiX/hdWo3RvXTQTp0BKCFMOQZAke4jPDNK5IOeQDxigDvqKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5XxpZWmpXfhi0vrWG6tpNVbf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YSQBPkJIyMe/rXVVi7dCgooopDCiiigAooooAKKKKACiiigAooooAKKKKACsnwx/yF/Ff/YVT/0jtq1qyfDH/IX8V/8AYVT/ANI7at8P8RFTY6OiiiuwxCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuc8T/8hfwp/wBhV/8A0jua6Ouc8T/8hfwp/wBhV/8A0juamfwscdzWooorzjoCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArB8U+DtE8Y2CWus2vmiMkxSo22SInrtb+nTjpW9RTTa1QHlMXwB8MLKvnalrM8CHKwPOgX6cJn8sV6TpOkWGhabDp2mWsdtaQjCRoOB7nuT7nmrtFNzlLdiSS2CiiipGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABWT4Y/5C/iv/sKp/6R21a1ZPhj/kL+K/8AsKp/6R21b4f4iKmx0dFFFdhiFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFc54n/5C/hT/ALCr/wDpHc10dc54n/5C/hT/ALCr/wDpHc1M/hY47mtRRRXnHQFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVk+GP8AkL+K/wDsKp/6R21a1ZPhj/kL+K/+wqn/AKR21b4f4iKmx0dFFFdhiFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFc5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+h/+Cib/AOSav0UckQ55FD7R4w/6C+h/+Cib/wCSaPtHjD/oL6H/AOCib/5Jq/RRyRDnkUPtHjD/AKC+h/8Agom/+SaPtHjD/oL6H/4KJv8A5Jq/RRyRDnkUPtHjD/oL6H/4KJv/AJJrQ8LapqOojVoNUe1knsb0W4ktYWiV1MMUudrO5BzIR17UlQeD/wDj/wDFP/YVT/0jtqicUloVCTb1OoooorI1CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuX8Yf8AH/4W/wCwq/8A6R3NdRXL+MP+P/wt/wBhV/8A0juacd0KWzJ6KKK6jmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKg8H/8AH/4p/wCwqn/pHbVPUHg//j/8U/8AYVT/ANI7as6mxpT3OoooorA2CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuX8Yf8AH/4W/wCwq/8A6R3NdRXL+MP+P/wt/wBhV/8A0juacd0KWzJ6KKK6jmCiiigAooooAKKKKACiiigAooqK6uEtLSa5kBKQo0jBeuAMnFAEtFeX/wDC+PCf/Prq3/fhP/i6cvx38JswBt9UUepgTH6PU88e5XKz06isPw34v0TxZbvLpF6sxjx5kbKVdM9Mqe3v0qt4v8caX4KhtJdTiunW6ZlT7OitgrjOcketO6tcVnex0tFVNL1K11jTLbUbGUS21wgkjYeh9fQjoR60+/vI9O065vpgxitonmcKMkqoJOPfigRYorD8KeK7DxhpL6lpqXCQLMYSJ1CtuAB6Anj5hWXZ/ErQLzxhL4ZH2mG+jmeANKiiN3U4IB3E84OMgZouh2Z2FFFc34r8b6X4PksE1GO6c3zMkXkIrYK7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"}}},{"cell_type":"markdown","source":"## This Notebook involves :\n###  Data pre-processing\n1. Normalizing the inputs for the model\n2. Padding (For equal timestamps)\n3. Reshaping in (Trips,Timestamps,[Lat,Long]) format\n\n### Training\n - Building the Model using Keras\n - Training (Make sure to enable GPU)\n - Prediction\n  \n### Post-processing \n - De-Normalizing\n - Submission\n \n### Conclusion\n - When you train it you'll see that the model doesn't perform well due to overfitting.\n - There is very less data to train. Hence doesn't generalize well\n","metadata":{}},{"cell_type":"markdown","source":"#### Check if GPU is available or not","metadata":{}},{"cell_type":"code","source":"import tensorflow as tf\ntf.test.is_gpu_available()","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","_kg_hide-input":true,"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-05-14T17:55:52.644718Z","iopub.execute_input":"2022-05-14T17:55:52.645435Z","iopub.status.idle":"2022-05-14T17:55:59.494809Z","shell.execute_reply.started":"2022-05-14T17:55:52.645346Z","shell.execute_reply":"2022-05-14T17:55:59.494091Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### Imports","metadata":{}},{"cell_type":"code","source":"# Imports\nimport pandas as pd\nimport numpy as np\nimport matplotlib.pylab as plt\nimport plotly.express as px\n\npd.set_option(\"max_columns\", 500)","metadata":{"_kg_hide-input":true,"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-05-14T17:55:59.496534Z","iopub.execute_input":"2022-05-14T17:55:59.497032Z","iopub.status.idle":"2022-05-14T17:56:02.480811Z","shell.execute_reply.started":"2022-05-14T17:55:59.496994Z","shell.execute_reply":"2022-05-14T17:56:02.480052Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!pip install nb_black > /dev/null\n%load_ext lab_black","metadata":{"_kg_hide-input":true,"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-05-14T17:56:02.482132Z","iopub.execute_input":"2022-05-14T17:56:02.483067Z","iopub.status.idle":"2022-05-14T17:56:15.220544Z","shell.execute_reply.started":"2022-05-14T17:56:02.483036Z","shell.execute_reply":"2022-05-14T17:56:15.219832Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Convert raw data to gps\nRef: [GSDC2 - baseline submission\n](https://www.kaggle.com/code/saitodevel01/gsdc2-baseline-submission)","metadata":{}},{"cell_type":"code","source":"import glob\nfrom dataclasses import dataclass\nimport numpy as np\nimport pandas as pd\nfrom tqdm.notebook import tqdm\nfrom scipy.interpolate import InterpolatedUnivariateSpline\n\nINPUT_PATH = \"../input/smartphone-decimeter-2022\"\n\nWGS84_SEMI_MAJOR_AXIS = 6378137.0\nWGS84_SEMI_MINOR_AXIS = 6356752.314245\nWGS84_SQUARED_FIRST_ECCENTRICITY = 6.69437999013e-3\nWGS84_SQUARED_SECOND_ECCENTRICITY = 6.73949674226e-3\n\nHAVERSINE_RADIUS = 6_371_000\n\n\n@dataclass\nclass ECEF:\n    x: np.array\n    y: np.array\n    z: np.array\n\n    def to_numpy(self):\n        return np.stack([self.x, self.y, self.z], axis=0)\n\n    @staticmethod\n    def from_numpy(pos):\n        x, y, z = [np.squeeze(w) for w in np.split(pos, 3, axis=-1)]\n        return ECEF(x=x, y=y, z=z)\n\n\n@dataclass\nclass BLH:\n    lat: np.array\n    lng: np.array\n    hgt: np.array\n\n\ndef ECEF_to_BLH(ecef):\n    a = WGS84_SEMI_MAJOR_AXIS\n    b = WGS84_SEMI_MINOR_AXIS\n    e2 = WGS84_SQUARED_FIRST_ECCENTRICITY\n    e2_ = WGS84_SQUARED_SECOND_ECCENTRICITY\n    x = ecef.x\n    y = ecef.y\n    z = ecef.z\n    r = np.sqrt(x**2 + y**2)\n    t = np.arctan2(z * (a / b), r)\n    B = np.arctan2(z + (e2_ * b) * np.sin(t) ** 3, r - (e2 * a) * np.cos(t) ** 3)\n    L = np.arctan2(y, x)\n    n = a / np.sqrt(1 - e2 * np.sin(B) ** 2)\n    H = (r / np.cos(B)) - n\n    return BLH(lat=B, lng=L, hgt=H)\n\n\ndef haversine_distance(blh_1, blh_2):\n    dlat = blh_2.lat - blh_1.lat\n    dlng = blh_2.lng - blh_1.lng\n    a = (\n        np.sin(dlat / 2) ** 2\n        + np.cos(blh_1.lat) * np.cos(blh_2.lat) * np.sin(dlng / 2) ** 2\n    )\n    dist = 2 * HAVERSINE_RADIUS * np.arcsin(np.sqrt(a))\n    return dist\n\n\ndef pandas_haversine_distance(df1, df2):\n    blh1 = BLH(\n        lat=np.deg2rad(df1[\"LatitudeDegrees\"].to_numpy()),\n        lng=np.deg2rad(df1[\"LongitudeDegrees\"].to_numpy()),\n        hgt=0,\n    )\n    blh2 = BLH(\n        lat=np.deg2rad(df2[\"LatitudeDegrees\"].to_numpy()),\n        lng=np.deg2rad(df2[\"LongitudeDegrees\"].to_numpy()),\n        hgt=0,\n    )\n    return haversine_distance(blh1, blh2)\n\n\ndef ecef_to_lat_lng(tripID, gnss_df, UnixTimeMillis):\n    ecef_columns = [\n        \"WlsPositionXEcefMeters\",\n        \"WlsPositionYEcefMeters\",\n        \"WlsPositionZEcefMeters\",\n    ]\n    columns = [\"utcTimeMillis\"] + ecef_columns\n    ecef_df = (\n        gnss_df.drop_duplicates(subset=\"utcTimeMillis\")[columns]\n        .dropna()\n        .reset_index(drop=True)\n    )\n    ecef = ECEF.from_numpy(ecef_df[ecef_columns].to_numpy())\n    blh = ECEF_to_BLH(ecef)\n\n    TIME = ecef_df[\"utcTimeMillis\"].to_numpy()\n    lat = InterpolatedUnivariateSpline(TIME, blh.lat, ext=3)(UnixTimeMillis)\n    lng = InterpolatedUnivariateSpline(TIME, blh.lng, ext=3)(UnixTimeMillis)\n    return pd.DataFrame(\n        {\n            \"tripId\": tripID,\n            \"UnixTimeMillis\": UnixTimeMillis,\n            \"LatitudeDegrees\": np.degrees(lat),\n            \"LongitudeDegrees\": np.degrees(lng),\n        }\n    )\n\n\ndef calc_score(tripID, pred_df, gt_df):\n    d = pandas_haversine_distance(pred_df, gt_df)\n    score = np.mean([np.quantile(d, 0.50), np.quantile(d, 0.95)])\n    return score","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:56:15.223051Z","iopub.execute_input":"2022-05-14T17:56:15.223305Z","iopub.status.idle":"2022-05-14T17:56:15.312007Z","shell.execute_reply.started":"2022-05-14T17:56:15.223271Z","shell.execute_reply":"2022-05-14T17:56:15.31135Z"},"_kg_hide-input":true,"_kg_hide-output":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Ref: [📱 Smartphone Competition 2022 [Twitch Stream]](https://www.kaggle.com/code/robikscube/smartphone-competition-2022-twitch-stream)","metadata":{}},{"cell_type":"code","source":"import glob\n\nINPUT_PATH = \"../input/smartphone-decimeter-2022\"\n\nsample_df = pd.read_csv(f\"{INPUT_PATH}/sample_submission.csv\")\npred_dfs = []\nfor dirname in tqdm(sorted(glob.glob(f\"{INPUT_PATH}/test/*/*\"))):\n    drive, phone = dirname.split(\"/\")[-2:]\n    tripID = f\"{drive}/{phone}\"\n    gnss_df = pd.read_csv(f\"{dirname}/device_gnss.csv\")\n    UnixTimeMillis = sample_df[sample_df[\"tripId\"] == tripID][\n        \"UnixTimeMillis\"\n    ].to_numpy()\n    pred_dfs.append(ecef_to_lat_lng(tripID, gnss_df, UnixTimeMillis))\nsub_df = pd.concat(pred_dfs)\n\nbaselines = []\ngts = []\nfor dirname in tqdm(sorted(glob.glob(f\"{INPUT_PATH}/train/*/*\"))):\n    drive, phone = dirname.split(\"/\")[-2:]\n    tripID = f\"{drive}/{phone}\"\n    gnss_df = pd.read_csv(f\"{dirname}/device_gnss.csv\", low_memory=False)\n    gt_df = pd.read_csv(f\"{dirname}/ground_truth.csv\", low_memory=False)\n    baseline_df = ecef_to_lat_lng(tripID, gnss_df, gt_df[\"UnixTimeMillis\"].to_numpy())\n    baselines.append(baseline_df)\n    gt_df[\"tripId\"] = tripID\n    gts.append(gt_df)\nbaselines = pd.concat(baselines)\ngts = pd.concat(gts)","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:56:15.313102Z","iopub.execute_input":"2022-05-14T17:56:15.313328Z","iopub.status.idle":"2022-05-14T17:59:19.893217Z","shell.execute_reply.started":"2022-05-14T17:56:15.313297Z","shell.execute_reply":"2022-05-14T17:59:19.892428Z"},"_kg_hide-input":true,"_kg_hide-output":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"ss = pd.read_csv(\"../input/smartphone-decimeter-2022/sample_submission.csv\")","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:59:19.897293Z","iopub.execute_input":"2022-05-14T17:59:19.899933Z","iopub.status.idle":"2022-05-14T17:59:19.992347Z","shell.execute_reply.started":"2022-05-14T17:59:19.899893Z","shell.execute_reply":"2022-05-14T17:59:19.990474Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"baselines[\"group\"] = \"train_baseline\"\nsub_df[\"group\"] = \"submission_baseline\"\ngts[\"group\"] = \"train_ground_truth\"\ncombined = pd.concat([baselines, sub_df]).reset_index(drop=True).copy()","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:59:19.997355Z","iopub.execute_input":"2022-05-14T17:59:19.999568Z","iopub.status.idle":"2022-05-14T17:59:20.048171Z","shell.execute_reply.started":"2022-05-14T17:59:19.999527Z","shell.execute_reply":"2022-05-14T17:59:20.047472Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"Lat = combined[\"LatitudeDegrees\"].to_numpy()\nLong = combined[\"LongitudeDegrees\"].to_numpy()","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:59:20.052446Z","iopub.execute_input":"2022-05-14T17:59:20.054365Z","iopub.status.idle":"2022-05-14T17:59:20.067698Z","shell.execute_reply.started":"2022-05-14T17:59:20.054323Z","shell.execute_reply":"2022-05-14T17:59:20.066974Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"Lat_gt = gts[\"LatitudeDegrees\"].to_numpy()\nLong_gt = gts[\"LongitudeDegrees\"].to_numpy()","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:59:20.068847Z","iopub.execute_input":"2022-05-14T17:59:20.069591Z","iopub.status.idle":"2022-05-14T17:59:20.077397Z","shell.execute_reply.started":"2022-05-14T17:59:20.069555Z","shell.execute_reply":"2022-05-14T17:59:20.076767Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Normalization\nBringing Data to standard form so that is makes sense in the model","metadata":{}},{"cell_type":"code","source":"from pandas import Series\nfrom sklearn.preprocessing import StandardScaler, MinMaxScaler\nfrom math import sqrt","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:59:20.116534Z","iopub.execute_input":"2022-05-14T17:59:20.1171Z","iopub.status.idle":"2022-05-14T17:59:20.126575Z","shell.execute_reply.started":"2022-05-14T17:59:20.117065Z","shell.execute_reply":"2022-05-14T17:59:20.125761Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Latitude\n\nseries_Lat_train = Series(Lat.flatten())\n\nseries_Lat_gt = Series(Lat_gt.flatten())\n\nvalues_train = series_Lat_train.values\nvalues_train = values_train.reshape((len(values_train), 1))\n\nprint(values_train.shape)\n\nvalues_gt = series_Lat_gt.values\nvalues_gt = values_gt.reshape((len(values_gt), 1))\n\n# train the normalization\nscaler_lat = MinMaxScaler()\nscaler_lat = scaler_lat.fit(values_train)\n\n# normalize the dataset and print\nstandardized_lat_train = scaler_lat.transform(values_train)\n# print(standardized_lat_train)\nprint(standardized_lat_train.shape)\n\nstandardized_lat_gt = scaler_lat.transform(values_gt)\nprint(standardized_lat_gt)\n# print(standardized_lat_gt.shape)\n\n# inverse transform and print\ninversed_lat_train = scaler_lat.inverse_transform(standardized_lat_train)\n# print(inversed_lat_train)\ninversed_lat_gt = scaler_lat.inverse_transform(standardized_lat_gt)\n# print(inversed_lat_gt)","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:59:20.128109Z","iopub.execute_input":"2022-05-14T17:59:20.128569Z","iopub.status.idle":"2022-05-14T17:59:20.176787Z","shell.execute_reply.started":"2022-05-14T17:59:20.128536Z","shell.execute_reply":"2022-05-14T17:59:20.176138Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sub_df.shape","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:59:20.180239Z","iopub.execute_input":"2022-05-14T17:59:20.182056Z","iopub.status.idle":"2022-05-14T17:59:20.190141Z","shell.execute_reply.started":"2022-05-14T17:59:20.182018Z","shell.execute_reply":"2022-05-14T17:59:20.189517Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"standardized_lat_train = standardized_lat_train.reshape(361730)\nstandardized_lat_train_only = standardized_lat_train[0:295633]\nbaselines[\"standardized_lat\"] = standardized_lat_train_only\n\nstandardized_lat_sub = standardized_lat_train[295633:]\nss[\"standardized_lat\"] = standardized_lat_sub\n\ngts[\"standardized_lat\"] = standardized_lat_gt.reshape(295633)","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:59:20.192663Z","iopub.execute_input":"2022-05-14T17:59:20.195984Z","iopub.status.idle":"2022-05-14T17:59:20.21247Z","shell.execute_reply.started":"2022-05-14T17:59:20.195949Z","shell.execute_reply":"2022-05-14T17:59:20.211821Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Long\n\nseries_Long_train = Series(Long.flatten())\n# print(series_Long_train)\n\nseries_Long_gt = Series(Long_gt.flatten())\n# print(series_Long_gt)\n\nvalues_train_long = series_Long_train.values\nvalues_train_long = values_train_long.reshape((len(values_train_long), 1))\n\nprint(values_train_long.shape)\n\nvalues_gt_long = series_Long_gt.values\nvalues_gt_long = values_gt_long.reshape((len(values_gt_long), 1))\n\n# train the normalization\n# scaler_long = StandardScaler()\nscaler_long = MinMaxScaler()\nscaler_long = scaler_long.fit(values_train_long)\n\n# normalize the dataset and print\nstandardized_long_train = scaler_long.transform(values_train_long)\n# print(standardized_long_train)\nprint(standardized_long_train.shape)\n\nstandardized_long_gt = scaler_long.transform(values_gt_long)\nprint(standardized_long_gt)\n# print(standardized_long_gt.shape)\n\n# inverse transform and print\ninversed_long_train = scaler_long.inverse_transform(standardized_long_train)\n# print(inversed_lat_train)\ninversed_long_gt = scaler_long.inverse_transform(standardized_long_gt)\n# print(inversed_lat_gt)","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:59:20.216172Z","iopub.execute_input":"2022-05-14T17:59:20.218139Z","iopub.status.idle":"2022-05-14T17:59:20.258742Z","shell.execute_reply.started":"2022-05-14T17:59:20.218103Z","shell.execute_reply":"2022-05-14T17:59:20.258099Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"standardized_long_train = standardized_long_train.reshape(361730)\nstandardized_long_train_only = standardized_long_train[0:295633]\nbaselines[\"standardized_long\"] = standardized_long_train_only\n\nstandardized_long_sub = standardized_long_train[295633:]\nss[\"standardized_long\"] = standardized_long_sub\n\ngts[\"standardized_long\"] = standardized_long_gt.reshape(295633)","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:59:20.262437Z","iopub.execute_input":"2022-05-14T17:59:20.264573Z","iopub.status.idle":"2022-05-14T17:59:20.281415Z","shell.execute_reply.started":"2022-05-14T17:59:20.264538Z","shell.execute_reply":"2022-05-14T17:59:20.280819Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"gts.tail()","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:59:20.284941Z","iopub.execute_input":"2022-05-14T17:59:20.28684Z","iopub.status.idle":"2022-05-14T17:59:20.316284Z","shell.execute_reply.started":"2022-05-14T17:59:20.286806Z","shell.execute_reply":"2022-05-14T17:59:20.315701Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"baselines.tail()","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:59:20.319761Z","iopub.execute_input":"2022-05-14T17:59:20.321619Z","iopub.status.idle":"2022-05-14T17:59:20.340057Z","shell.execute_reply.started":"2022-05-14T17:59:20.321585Z","shell.execute_reply":"2022-05-14T17:59:20.339207Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"ss.tail()","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:59:20.344285Z","iopub.execute_input":"2022-05-14T17:59:20.346336Z","iopub.status.idle":"2022-05-14T17:59:20.363482Z","shell.execute_reply.started":"2022-05-14T17:59:20.346302Z","shell.execute_reply":"2022-05-14T17:59:20.362815Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Reshaping the Data and Padding\n(If you have any doubts related to this ask me in the comments.)","metadata":{}},{"cell_type":"code","source":"max_length = np.amax(baselines[\"tripId\"].value_counts())\ndesired_rows = max_length\ndesired_cols = 2\ncount = 0\nfor trip in baselines.tripId.unique():\n    if count == 0:\n        oneTrip = baselines.loc[\n            (baselines[\"tripId\"] == trip), [\"standardized_lat\", \"standardized_long\"]\n        ]\n\n        oneTrip = oneTrip.to_numpy()\n        trainingPadded0 = np.pad(\n            oneTrip,\n            (\n                (0, desired_rows - oneTrip.shape[0]),\n                (0, desired_cols - oneTrip.shape[1]),\n            ),\n            \"constant\",\n            constant_values=0,\n        )\n        count = 1\n    elif count == 1:\n        oneTrip = baselines.loc[\n            (baselines[\"tripId\"] == trip), [\"standardized_lat\", \"standardized_long\"]\n        ]\n        oneTrip = oneTrip.to_numpy()\n        trainingPadded1 = np.pad(\n            oneTrip,\n            (\n                (0, desired_rows - oneTrip.shape[0]),\n                (0, desired_cols - oneTrip.shape[1]),\n            ),\n            \"constant\",\n            constant_values=0,\n        )\n        trainingPadded = np.stack((trainingPadded0, trainingPadded1))\n        count = 2\n    else:\n        oneTrip = baselines.loc[\n            (baselines[\"tripId\"] == trip), [\"standardized_lat\", \"standardized_long\"]\n        ]\n        oneTrip = oneTrip.to_numpy()\n        oneTripPadded = np.pad(\n            oneTrip,\n            (\n                (0, desired_rows - oneTrip.shape[0]),\n                (0, desired_cols - oneTrip.shape[1]),\n            ),\n            \"constant\",\n            constant_values=0,\n        )\n\n        # print(oneTrip.shape)\n        # print(oneTripPadded.shape)\n        trainingPadded = np.append(trainingPadded, [oneTripPadded], axis=0)\n\nprint(trainingPadded.shape)","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:59:20.366299Z","iopub.execute_input":"2022-05-14T17:59:20.367208Z","iopub.status.idle":"2022-05-14T17:59:27.174273Z","shell.execute_reply.started":"2022-05-14T17:59:20.367173Z","shell.execute_reply":"2022-05-14T17:59:27.173443Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"max_length = np.amax(gts[\"tripId\"].value_counts())\ndesired_rows = max_length\ndesired_cols = 2\ncount = 0\nfor trip in gts.tripId.unique():\n    if count == 0:\n        oneTrip = gts.loc[\n            (gts[\"tripId\"] == trip), [\"standardized_lat\", \"standardized_long\"]\n        ]\n\n        oneTrip = oneTrip.to_numpy()\n        gtsPadded0 = np.pad(\n            oneTrip,\n            (\n                (0, desired_rows - oneTrip.shape[0]),\n                (0, desired_cols - oneTrip.shape[1]),\n            ),\n            \"constant\",\n            constant_values=0,\n        )\n        count = 1\n    elif count == 1:\n        oneTrip = gts.loc[\n            (gts[\"tripId\"] == trip), [\"standardized_lat\", \"standardized_long\"]\n        ]\n        oneTrip = oneTrip.to_numpy()\n        gtsPadded1 = np.pad(\n            oneTrip,\n            (\n                (0, desired_rows - oneTrip.shape[0]),\n                (0, desired_cols - oneTrip.shape[1]),\n            ),\n            \"constant\",\n            constant_values=0,\n        )\n        gtsPadded = np.stack((gtsPadded0, gtsPadded1))\n        count = 2\n    else:\n        oneTrip = gts.loc[\n            (gts[\"tripId\"] == trip), [\"standardized_lat\", \"standardized_long\"]\n        ]\n        oneTrip = oneTrip.to_numpy()\n        oneTripPadded = np.pad(\n            oneTrip,\n            (\n                (0, desired_rows - oneTrip.shape[0]),\n                (0, desired_cols - oneTrip.shape[1]),\n            ),\n            \"constant\",\n            constant_values=0,\n        )\n\n        # print(oneTrip.shape)\n        # print(oneTripPadded.shape)\n        gtsPadded = np.append(gtsPadded, [oneTripPadded], axis=0)\n\nprint(gtsPadded.shape)","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:59:27.17551Z","iopub.execute_input":"2022-05-14T17:59:27.176929Z","iopub.status.idle":"2022-05-14T17:59:33.756066Z","shell.execute_reply.started":"2022-05-14T17:59:27.176888Z","shell.execute_reply":"2022-05-14T17:59:33.754622Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"max_length = np.amax(ss[\"tripId\"].value_counts())\ndesired_rows = max_length\ndesired_cols = 2\ncount = 0\nfor trip in ss.tripId.unique():\n    if count == 0:\n        oneTrip = ss.loc[\n            (ss[\"tripId\"] == trip), [\"standardized_lat\", \"standardized_long\"]\n        ]\n\n        oneTrip = oneTrip.to_numpy()\n        ssPadded0 = np.pad(\n            oneTrip,\n            (\n                (0, desired_rows - oneTrip.shape[0]),\n                (0, desired_cols - oneTrip.shape[1]),\n            ),\n            \"constant\",\n            constant_values=0,\n        )\n        count = 1\n    elif count == 1:\n        oneTrip = ss.loc[\n            (ss[\"tripId\"] == trip), [\"standardized_lat\", \"standardized_long\"]\n        ]\n        oneTrip = oneTrip.to_numpy()\n        ssPadded1 = np.pad(\n            oneTrip,\n            (\n                (0, desired_rows - oneTrip.shape[0]),\n                (0, desired_cols - oneTrip.shape[1]),\n            ),\n            \"constant\",\n            constant_values=0,\n        )\n        ssPadded = np.stack((ssPadded0, ssPadded1))\n        count = 2\n    else:\n        oneTrip = ss.loc[\n            (ss[\"tripId\"] == trip), [\"standardized_lat\", \"standardized_long\"]\n        ]\n        oneTrip = oneTrip.to_numpy()\n        oneTripPadded = np.pad(\n            oneTrip,\n            (\n                (0, desired_rows - oneTrip.shape[0]),\n                (0, desired_cols - oneTrip.shape[1]),\n            ),\n            \"constant\",\n            constant_values=0,\n        )\n\n        # print(oneTrip.shape)\n        # print(oneTripPadded.shape)\n        ssPadded = np.append(ssPadded, [oneTripPadded], axis=0)\n\nprint(ssPadded.shape)","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:59:33.757374Z","iopub.execute_input":"2022-05-14T17:59:33.757604Z","iopub.status.idle":"2022-05-14T17:59:34.157216Z","shell.execute_reply.started":"2022-05-14T17:59:33.75757Z","shell.execute_reply":"2022-05-14T17:59:34.155589Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Training","metadata":{}},{"cell_type":"code","source":"from keras.models import Sequential\nfrom keras.models import Model\n\nfrom keras.losses import MeanSquaredError\nfrom tensorflow.keras.optimizers import RMSprop, Adam\nfrom keras.metrics import MeanSquaredError\nfrom keras.layers import Dense, Dropout\nfrom keras.layers import LSTM, Masking, Bidirectional\n\nfrom keras.models import Input","metadata":{"execution":{"iopub.status.busy":"2022-05-14T17:59:34.158666Z","iopub.execute_input":"2022-05-14T17:59:34.158935Z","iopub.status.idle":"2022-05-14T17:59:35.011603Z","shell.execute_reply.started":"2022-05-14T17:59:34.158899Z","shell.execute_reply":"2022-05-14T17:59:35.010844Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"number_of_features = 2\nbatch_size = 170\ntime_steps = 3362\n\ninput = Input(shape=(None, number_of_features))\n\nmasking = Masking(mask_value=0.0)(input)\n\nBidirectional_1 = Bidirectional(\n    LSTM(number_of_features, return_sequences=True), merge_mode=\"sum\"\n)(masking)\n\nDropout_1 = Dropout(0.2)(Bidirectional_1)\n\nout = Dense(number_of_features, activation=\"sigmoid\")(Dropout_1)\n\nmodel = Model(inputs=input, outputs=out)\nmodel.compile(\n    loss=\"MeanSquaredError\",\n    optimizer=Adam(lr=0.0003, decay=1e-3),\n    metrics=[\"MeanSquaredError\"],\n)\n\nmodel.summary()","metadata":{"execution":{"iopub.status.busy":"2022-05-14T18:22:02.102585Z","iopub.execute_input":"2022-05-14T18:22:02.102864Z","iopub.status.idle":"2022-05-14T18:22:03.486349Z","shell.execute_reply.started":"2022-05-14T18:22:02.102835Z","shell.execute_reply":"2022-05-14T18:22:03.485608Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model.fit(\n    trainingPadded,\n    gtsPadded,\n    epochs=600,\n    batch_size=34,\n    verbose=1,\n    use_multiprocessing=True,\n    shuffle=True,\n    validation_split=0.1,\n)","metadata":{"execution":{"iopub.status.busy":"2022-05-14T18:25:53.543508Z","iopub.execute_input":"2022-05-14T18:25:53.543765Z","iopub.status.idle":"2022-05-14T18:26:19.579792Z","shell.execute_reply.started":"2022-05-14T18:25:53.543737Z","shell.execute_reply":"2022-05-14T18:26:19.578647Z"},"scrolled":true,"_kg_hide-output":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### Prediction","metadata":{}},{"cell_type":"code","source":"result = model.predict(trainingPadded)\nprint(result.shape)","metadata":{"execution":{"iopub.status.busy":"2022-05-14T18:25:20.900201Z","iopub.execute_input":"2022-05-14T18:25:20.900536Z","iopub.status.idle":"2022-05-14T18:25:26.648572Z","shell.execute_reply.started":"2022-05-14T18:25:20.900501Z","shell.execute_reply":"2022-05-14T18:25:26.647813Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"result_sub = model.predict(ssPadded)\nprint(ssPadded.shape)","metadata":{"execution":{"iopub.status.busy":"2022-05-14T18:25:26.650402Z","iopub.execute_input":"2022-05-14T18:25:26.650893Z","iopub.status.idle":"2022-05-14T18:25:28.81071Z","shell.execute_reply.started":"2022-05-14T18:25:26.650856Z","shell.execute_reply":"2022-05-14T18:25:28.809898Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"result_sub","metadata":{"execution":{"iopub.status.busy":"2022-05-14T18:06:07.59903Z","iopub.execute_input":"2022-05-14T18:06:07.599499Z","iopub.status.idle":"2022-05-14T18:06:07.608108Z","shell.execute_reply.started":"2022-05-14T18:06:07.59946Z","shell.execute_reply":"2022-05-14T18:06:07.607313Z"},"scrolled":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Scoring \n- inverse of values \n- reshaping for calc the mean error","metadata":{}},{"cell_type":"code","source":"count = 0\npredicted_lat = []\npredicted_long = []\nfor trip in baselines.tripId.unique():\n    timestamps = (baselines[\"tripId\"] == trip).sum()\n    for x in range(timestamps):\n        predicted_lat.append(result[count][x][0])\n        predicted_long.append(result[count][x][1])\n    count = count + 1","metadata":{"execution":{"iopub.status.busy":"2022-05-14T18:06:07.609437Z","iopub.execute_input":"2022-05-14T18:06:07.609976Z","iopub.status.idle":"2022-05-14T18:06:14.479561Z","shell.execute_reply.started":"2022-05-14T18:06:07.609941Z","shell.execute_reply":"2022-05-14T18:06:14.478824Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"np_predicted = np.array(predicted_lat)\nseries_np_predicted = Series(np_predicted.flatten())\nvalues_np_predicted = series_np_predicted.values\nvalues_np_predicted = values_np_predicted.reshape((len(values_np_predicted), 1))\ninversed_np_predicted = scaler_lat.inverse_transform(values_np_predicted)\nbaselines[\"predicted_lat\"] = inversed_np_predicted\n\nnp_predicted = np.array(predicted_long)\nseries_np_predicted = Series(np_predicted.flatten())\nvalues_np_predicted = series_np_predicted.values\nvalues_np_predicted = values_np_predicted.reshape((len(values_np_predicted), 1))\ninversed_np_predicted = scaler_long.inverse_transform(values_np_predicted)\nbaselines[\"predicted_long\"] = inversed_np_predicted","metadata":{"execution":{"iopub.status.busy":"2022-05-14T18:06:14.480828Z","iopub.execute_input":"2022-05-14T18:06:14.481095Z","iopub.status.idle":"2022-05-14T18:06:14.5477Z","shell.execute_reply.started":"2022-05-14T18:06:14.481063Z","shell.execute_reply":"2022-05-14T18:06:14.54696Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"predicted_baseline = baselines[[\"tripId\", \"predicted_lat\", \"predicted_long\"]].copy()\npredicted_baseline.rename(columns={\"predicted_lat\": \"LatitudeDegrees\"}, inplace=True)\npredicted_baseline.rename(columns={\"predicted_long\": \"LongitudeDegrees\"}, inplace=True)\n\nscores = []\nfor tripID in predicted_baseline[\"tripId\"].unique():\n    score = calc_score(tripID, predicted_baseline, gts)\n    scores.append(score)\n\nmean_score = np.mean(scores)\nprint(f\"mean_score = {mean_score:.3f}\")","metadata":{"execution":{"iopub.status.busy":"2022-05-14T18:06:14.549079Z","iopub.execute_input":"2022-05-14T18:06:14.54934Z","iopub.status.idle":"2022-05-14T18:06:17.406738Z","shell.execute_reply.started":"2022-05-14T18:06:14.549306Z","shell.execute_reply":"2022-05-14T18:06:17.405358Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Submission","metadata":{}},{"cell_type":"code","source":"count = 0\npredicted_lat = []\npredicted_long = []\nfor trip in ss.tripId.unique():\n    timestamps = (ss[\"tripId\"] == trip).sum()\n    for x in range(timestamps):\n        predicted_lat.append(result_sub[count][x][0])\n        predicted_long.append(result_sub[count][x][1])\n    count = count + 1","metadata":{"execution":{"iopub.status.busy":"2022-05-14T18:06:17.407871Z","iopub.execute_input":"2022-05-14T18:06:17.408202Z","iopub.status.idle":"2022-05-14T18:06:17.834569Z","shell.execute_reply.started":"2022-05-14T18:06:17.408157Z","shell.execute_reply":"2022-05-14T18:06:17.833828Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"np_predicted = np.array(predicted_lat)\nseries_np_predicted = Series(np_predicted.flatten())\nvalues_np_predicted = series_np_predicted.values\nvalues_np_predicted = values_np_predicted.reshape((len(values_np_predicted), 1))\ninversed_np_predicted = scaler_lat.inverse_transform(values_np_predicted)\nss[\"LatitudeDegrees\"] = inversed_np_predicted\n\nnp_predicted = np.array(predicted_long)\nseries_np_predicted = Series(np_predicted.flatten())\nvalues_np_predicted = series_np_predicted.values\nvalues_np_predicted = values_np_predicted.reshape((len(values_np_predicted), 1))\ninversed_np_predicted = scaler_long.inverse_transform(values_np_predicted)\nss[\"LongitudeDegrees\"] = inversed_np_predicted","metadata":{"execution":{"iopub.status.busy":"2022-05-14T18:06:17.835713Z","iopub.execute_input":"2022-05-14T18:06:17.83598Z","iopub.status.idle":"2022-05-14T18:06:17.86695Z","shell.execute_reply.started":"2022-05-14T18:06:17.835945Z","shell.execute_reply":"2022-05-14T18:06:17.866264Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"ss.head()","metadata":{"execution":{"iopub.status.busy":"2022-05-14T18:06:17.868067Z","iopub.execute_input":"2022-05-14T18:06:17.868372Z","iopub.status.idle":"2022-05-14T18:06:17.8847Z","shell.execute_reply.started":"2022-05-14T18:06:17.868337Z","shell.execute_reply":"2022-05-14T18:06:17.883885Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"ss.drop([\"standardized_lat\", \"standardized_long\"], axis=1, inplace=True)","metadata":{"execution":{"iopub.status.busy":"2022-05-14T18:06:17.886526Z","iopub.execute_input":"2022-05-14T18:06:17.886931Z","iopub.status.idle":"2022-05-14T18:06:17.897709Z","shell.execute_reply.started":"2022-05-14T18:06:17.886891Z","shell.execute_reply":"2022-05-14T18:06:17.896839Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"ss.head() #updated with our predictions","metadata":{"execution":{"iopub.status.busy":"2022-05-14T18:06:17.900555Z","iopub.execute_input":"2022-05-14T18:06:17.901234Z","iopub.status.idle":"2022-05-14T18:06:17.91575Z","shell.execute_reply.started":"2022-05-14T18:06:17.90119Z","shell.execute_reply":"2022-05-14T18:06:17.915053Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"ss.reset_index(drop=True)[ss.columns].to_csv(\"submission.csv\", index=False)","metadata":{"execution":{"iopub.status.busy":"2022-05-14T18:06:17.91848Z","iopub.execute_input":"2022-05-14T18:06:17.919931Z","iopub.status.idle":"2022-05-14T18:06:18.276713Z","shell.execute_reply.started":"2022-05-14T18:06:17.91989Z","shell.execute_reply":"2022-05-14T18:06:18.275892Z"},"trusted":true},"execution_count":null,"outputs":[]}]}