{"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":"<div>\n    <h1 align=\"center\">Smart Ensembling</h1>\n    <h1 align=\"center\">Google Smartphone Decimeter Challenge</h1>   \n</div>","metadata":{}},{"cell_type":"markdown","source":"Thanks for https://www.kaggle.com/somayyehgholami/gsdc-smart-ensembling","metadata":{}},{"cell_type":"markdown","source":"<div class=\"alert alert-success\">  \n</div>","metadata":{}},{"cell_type":"markdown","source":"<div class=\"alert alert-success\">\n    <h1 align=\"center\">If you find this work useful, please don't forget upvoting :)</h1>\n</div>","metadata":{}},{"cell_type":"code","source":"import numpy as np \nimport pandas as pd\nimport seaborn as sns\n\nimport matplotlib.pyplot as plt\nimport plotly.figure_factory as ff\nimport plotly.express as px\n%matplotlib inline","metadata":{"execution":{"iopub.status.busy":"2021-07-29T05:07:19.113402Z","iopub.execute_input":"2021-07-29T05:07:19.113771Z","iopub.status.idle":"2021-07-29T05:07:19.120052Z","shell.execute_reply.started":"2021-07-29T05:07:19.113741Z","shell.execute_reply":"2021-07-29T05:07:19.119186Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<div class=\"alert alert-success\">  \n</div>","metadata":{}},{"cell_type":"markdown","source":"Thanks to: @tensorchoko https://www.kaggle.com/tensorchoko/google-multioutputregressor/output","metadata":{}},{"cell_type":"code","source":"path0 = '../input/gsdc6027/submission.csv' \n\nsub6027 = pd.read_csv(path0)","metadata":{"execution":{"iopub.status.busy":"2021-07-29T05:07:19.125822Z","iopub.execute_input":"2021-07-29T05:07:19.126248Z","iopub.status.idle":"2021-07-29T05:07:19.307285Z","shell.execute_reply.started":"2021-07-29T05:07:19.126219Z","shell.execute_reply":"2021-07-29T05:07:19.306423Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Thanks to: @t88take https://www.kaggle.com/t88take/gsdc-phones-mean-prediction/output","metadata":{}},{"cell_type":"code","source":"path1 = '../input/gsdc5639/submission.csv' \n\nsub5639 = pd.read_csv(path1)","metadata":{"execution":{"iopub.status.busy":"2021-07-29T05:07:19.308698Z","iopub.execute_input":"2021-07-29T05:07:19.308995Z","iopub.status.idle":"2021-07-29T05:07:19.481799Z","shell.execute_reply.started":"2021-07-29T05:07:19.308967Z","shell.execute_reply":"2021-07-29T05:07:19.480889Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Thanks to: @bpetrb https://www.kaggle.com/bpetrb/adaptive-gauss-phone-mean/output","metadata":{}},{"cell_type":"code","source":"path2 = '../input/gsdc5370/submission.csv' \n\nsub5370 = pd.read_csv(path2)","metadata":{"execution":{"iopub.status.busy":"2021-07-29T05:07:19.483894Z","iopub.execute_input":"2021-07-29T05:07:19.484354Z","iopub.status.idle":"2021-07-29T05:07:19.646963Z","shell.execute_reply.started":"2021-07-29T05:07:19.484307Z","shell.execute_reply":"2021-07-29T05:07:19.64577Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"path = [path0, path1, path2]","metadata":{"execution":{"iopub.status.busy":"2021-07-29T05:07:19.648763Z","iopub.execute_input":"2021-07-29T05:07:19.649083Z","iopub.status.idle":"2021-07-29T05:07:19.65277Z","shell.execute_reply.started":"2021-07-29T05:07:19.649048Z","shell.execute_reply":"2021-07-29T05:07:19.652089Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<div class=\"alert alert-success\">  \n</div>","metadata":{}},{"cell_type":"code","source":"def ensembling(main, support, coeff1, coeff2): \n    \n    suba  = main.copy() \n    subav = suba.values\n       \n    subb  = support.copy()\n    subbv = subb.values    \n           \n    ense  = main.copy()    \n    ensev = ense.values  \n \n    for i in range (len(main)):\n        \n        pera1 = subav[i, 2]\n        pera2 = subav[i, 3]\n        \n        perb1 = subbv[i, 2]\n        perb2 = subbv[i, 3]\n\n        per1 = (pera1 * coeff1) + (perb1 * (1.0 - coeff1))\n        per2 = (pera2 * coeff2) + (perb2 * (1.0 - coeff2))\n        \n        ensev[i, 2] = per1\n        ensev[i, 3] = per2\n        \n    ense.iloc[:, 2:] = ensev[:, 2:]  \n  \n    return ense      \n","metadata":{"execution":{"iopub.status.busy":"2021-07-29T05:07:19.653877Z","iopub.execute_input":"2021-07-29T05:07:19.654314Z","iopub.status.idle":"2021-07-29T05:07:19.667821Z","shell.execute_reply.started":"2021-07-29T05:07:19.654285Z","shell.execute_reply":"2021-07-29T05:07:19.666785Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<div class=\"alert alert-success\">  \n</div>","metadata":{}},{"cell_type":"code","source":"sub1 = ensembling(sub5639, sub6027, 0.25, 0.60)\n\nsub2 = ensembling(sub5370,    sub1, 0.50, 0.62)","metadata":{"execution":{"iopub.status.busy":"2021-07-29T05:07:19.671172Z","iopub.execute_input":"2021-07-29T05:07:19.671536Z","iopub.status.idle":"2021-07-29T05:07:20.208179Z","shell.execute_reply.started":"2021-07-29T05:07:19.671501Z","shell.execute_reply":"2021-07-29T05:07:20.207163Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<div class=\"alert alert-success\">  \n</div>","metadata":{}},{"cell_type":"code","source":"sub1.to_csv(\"submission1.csv\",index=False)\nsub2.to_csv(\"submission2.csv\",index=False)\n!ls","metadata":{"execution":{"iopub.status.busy":"2021-07-29T05:07:20.209485Z","iopub.execute_input":"2021-07-29T05:07:20.209762Z","iopub.status.idle":"2021-07-29T05:07:22.269786Z","shell.execute_reply.started":"2021-07-29T05:07:20.209735Z","shell.execute_reply":"2021-07-29T05:07:22.268703Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<div class=\"alert alert-success\">  \n</div>","metadata":{}},{"cell_type":"markdown","source":"<div class=\"alert alert-success\">  \n</div>","metadata":{}}]}