{"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":"### Thanks for the insights [Martin Kovacevic Buvinic](https://www.kaggle.com/ragnar123)\n","metadata":{"papermill":{"duration":0.00454,"end_time":"2022-07-31T01:33:17.378458","exception":false,"start_time":"2022-07-31T01:33:17.373918","status":"completed"},"tags":[]}},{"cell_type":"code","source":"import numpy as np \nimport pandas as pd \nimport glob\nfrom scipy.stats import rankdata","metadata":{"_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","papermill":{"duration":0.919584,"end_time":"2022-07-31T01:33:18.301720","exception":false,"start_time":"2022-07-31T01:33:17.382136","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-31T04:34:38.738375Z","iopub.execute_input":"2022-07-31T04:34:38.739576Z","iopub.status.idle":"2022-07-31T04:34:39.646360Z","shell.execute_reply.started":"2022-07-31T04:34:38.739470Z","shell.execute_reply":"2022-07-31T04:34:39.645038Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"paths = [x for x in glob.glob('../input/*/*.csv') if 'amex-default-prediction' not in x]\ndfs = [pd.read_csv(x) for x in paths]\ndfs = [x.sort_values(by='customer_ID') for x in dfs]","metadata":{"papermill":{"duration":12.664362,"end_time":"2022-07-31T01:33:30.969768","exception":false,"start_time":"2022-07-31T01:33:18.305406","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-31T04:34:43.678619Z","iopub.execute_input":"2022-07-31T04:34:43.679053Z","iopub.status.idle":"2022-07-31T04:34:51.034673Z","shell.execute_reply.started":"2022-07-31T04:34:43.679017Z","shell.execute_reply":"2022-07-31T04:34:51.033489Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"paths = [x for x in glob.glob('../input/*/*.csv') if 'amex-default-prediction' not in x]\npaths","metadata":{"papermill":{"duration":0.021087,"end_time":"2022-07-31T01:33:30.994578","exception":false,"start_time":"2022-07-31T01:33:30.973491","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-31T04:34:53.793794Z","iopub.execute_input":"2022-07-31T04:34:53.794209Z","iopub.status.idle":"2022-07-31T04:34:53.806354Z","shell.execute_reply.started":"2022-07-31T04:34:53.794171Z","shell.execute_reply":"2022-07-31T04:34:53.805016Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"for df in dfs:\n    df['prediction'] = np.clip(df['prediction'], 0, 1)","metadata":{"execution":{"iopub.execute_input":"2022-07-31T01:33:31.004280Z","iopub.status.busy":"2022-07-31T01:33:31.003730Z","iopub.status.idle":"2022-07-31T01:33:31.066302Z","shell.execute_reply":"2022-07-31T01:33:31.065460Z"},"papermill":{"duration":0.070554,"end_time":"2022-07-31T01:33:31.068942","exception":false,"start_time":"2022-07-31T01:33:30.998388","status":"completed"},"tags":[]},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# submit = pd.read_csv('../input/amex-default-prediction/sample_submission.csv')\n# submit['prediction'] = 0\n# submit['prediction_'] = 0\n\n\n# for df in dfs:\n#     submit['prediction'] += df['prediction']\n#     submit['prediction_'] += df['prediction']\n    \n# submit['prediction'] /= 4\n# submit['prediction_'] /= len(paths)\n# submit.head()","metadata":{"execution":{"iopub.status.busy":"2022-07-31T04:37:31.654574Z","iopub.execute_input":"2022-07-31T04:37:31.655226Z","iopub.status.idle":"2022-07-31T04:37:33.812229Z","shell.execute_reply.started":"2022-07-31T04:37:31.655182Z","shell.execute_reply":"2022-07-31T04:37:33.811179Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submit = pd.read_csv('../input/amex-default-prediction/sample_submission.csv')\nsubmit['prediction'] = 0\n\nfor df in dfs:\n    submit['prediction'] += df['prediction']\n\nsubmit['prediction_'] = submit['prediction']/len(paths)\nsubmit['prediction'] /= 4\n\nsubmit[['customer_ID', 'prediction_']].to_csv('mean_submission_.csv', index=None)\nsubmit[['customer_ID', 'prediction']].to_csv('mean_submission.csv', index=None)\n","metadata":{"execution":{"iopub.execute_input":"2022-07-31T01:33:31.079174Z","iopub.status.busy":"2022-07-31T01:33:31.078567Z","iopub.status.idle":"2022-07-31T01:33:38.326063Z","shell.execute_reply":"2022-07-31T01:33:38.324790Z"},"papermill":{"duration":7.256032,"end_time":"2022-07-31T01:33:38.329185","exception":false,"start_time":"2022-07-31T01:33:31.073153","status":"completed"},"tags":[]},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submit = pd.read_csv('../input/amex-default-prediction/sample_submission.csv')\nsubmit['prediction'] = 0\n\nfor df in dfs:\n    submit['prediction'] += rankdata(df['prediction'])/df.shape[0]\n\nsubmit['prediction_'] = submit['prediction']/len(paths)    \nsubmit['prediction'] /= 4\n\nsubmit[['customer_ID', 'prediction_']].to_csv('rank_submission_.csv', index=None)\nsubmit[['customer_ID', 'prediction']].to_csv('rank_submission.csv', index=None)\n# submit.to_csv('rank_submission.csv', index=None)","metadata":{"papermill":{"duration":7.145959,"end_time":"2022-07-31T01:33:45.479407","exception":false,"start_time":"2022-07-31T01:33:38.333448","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-31T04:42:07.116954Z","iopub.execute_input":"2022-07-31T04:42:07.117367Z","iopub.status.idle":"2022-07-31T04:42:19.453696Z","shell.execute_reply.started":"2022-07-31T04:42:07.117333Z","shell.execute_reply":"2022-07-31T04:42:19.452382Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submit.head()","metadata":{"execution":{"iopub.status.busy":"2022-07-31T04:42:31.110446Z","iopub.execute_input":"2022-07-31T04:42:31.110853Z","iopub.status.idle":"2022-07-31T04:42:31.122820Z","shell.execute_reply.started":"2022-07-31T04:42:31.110820Z","shell.execute_reply":"2022-07-31T04:42:31.121749Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"weights = [0.52, 0.87, 0.95, 0.57, 1, 0.8]","metadata":{"papermill":{"duration":0.012648,"end_time":"2022-07-31T01:33:45.495892","exception":false,"start_time":"2022-07-31T01:33:45.483244","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-31T04:43:30.664746Z","iopub.execute_input":"2022-07-31T04:43:30.665128Z","iopub.status.idle":"2022-07-31T04:43:30.670570Z","shell.execute_reply.started":"2022-07-31T04:43:30.665098Z","shell.execute_reply":"2022-07-31T04:43:30.669333Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submit = pd.read_csv('../input/amex-default-prediction/sample_submission.csv')\nsubmit['prediction'] = 0\n\nassert len(dfs) == len(weights)\n\nfor df, weight in zip(dfs, weights):\n    print(weight)\n    submit['prediction'] += (df['prediction'] * weight) \n    \nsubmit['prediction'] /= np.sum(weights)\n\nsubmit.to_csv('mean_submission.csv', index=None)","metadata":{"papermill":{"duration":6.713396,"end_time":"2022-07-31T01:33:52.213010","exception":false,"start_time":"2022-07-31T01:33:45.499614","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-31T04:48:41.421066Z","iopub.execute_input":"2022-07-31T04:48:41.421500Z","iopub.status.idle":"2022-07-31T04:48:42.738099Z","shell.execute_reply.started":"2022-07-31T04:48:41.421466Z","shell.execute_reply":"2022-07-31T04:48:42.736582Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submit = pd.read_csv('../input/amex-default-prediction/sample_submission.csv')\nsubmit['prediction'] = 0\n\nfor df, weight in zip(dfs, weights):\n    submit['prediction'] += (rankdata(df['prediction'])/df.shape[0]) * weight\n    \nsubmit['prediction'] /= 4\n\nsubmit.to_csv('submission.csv', index=None)\n\n","metadata":{"execution":{"iopub.execute_input":"2022-07-31T01:33:52.222476Z","iopub.status.busy":"2022-07-31T01:33:52.222099Z","iopub.status.idle":"2022-07-31T01:33:59.257170Z","shell.execute_reply":"2022-07-31T01:33:59.255975Z"},"papermill":{"duration":7.043074,"end_time":"2022-07-31T01:33:59.260014","exception":false,"start_time":"2022-07-31T01:33:52.216940","status":"completed"},"tags":[]},"execution_count":null,"outputs":[]}]}