{"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":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","_kg_hide-output":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Relevant Notebooks**\n\n[How to kill all your efforts?](https://www.kaggle.com/code/alexryzhkov/how-to-kill-all-your-efforts) by @alexryzhkov\n\n[Calibration is all you need!](https://www.kaggle.com/code/alexryzhkov/calibration-is-all-you-need) by @alexryzhkov\n\n[Rocket Probe](https://www.kaggle.com/code/jbomitchell/rocket-probe) by @jbomitchell.\n\n[TPS-2022-10 FastAI (with multistart and TTA)](https://www.kaggle.com/code/alexryzhkov/tps-2022-10-fastai-with-multistart-and-tta) by @alexryzhkov 0.18880.\n\n[TPS OCT 2022 EDA and ensemble, Hybrid Model](https://www.kaggle.com/code/shariful07/tps-oct-2022-eda-and-ensemble-hybrid-model) by @shariful07 0.18960.\n\n[TPS - Oct 2022](https://www.kaggle.com/code/viktortaran/tps-oct-2022) by @viktortaran 0.18985.\n\n[TPS Oct., 2022 Viz Players' Positions. Animated.](https://www.kaggle.com/code/sergiosaharovskiy/tps-oct-2022-viz-players-positions-animated) by @sergiosaharovskiy 0.19153.\n\n[TPS-2022-10 Fastai](https://www.kaggle.com/code/paddykb/tps-2022-10-fastai) by @paddykb 0.19198.\n\n[TPS-2022-10 Fastai - Proof of concept new features](https://www.kaggle.com/code/pietromaldini1/tps-2022-10-fastai-proof-of-concept-new-features) by @pietromaldini1 0.19271.","metadata":{}},{"cell_type":"code","source":"sub = pd.read_csv('../input/tabular-playground-series-oct-2022/sample_submission.csv')\nsub.sort_values(by=['id'], inplace=True)\nsub19271 = pd.read_csv('../input/league-of-rockets/19271_submission.csv')\nsub19271.sort_values(by=['id'], inplace=True)\nsub19198 = pd.read_csv('../input/league-of-rockets/19198_submission.csv')\nsub19198.sort_values(by=['id'], inplace=True)\nsub19153 = pd.read_csv('../input/league-of-rockets/19153_submission.csv')\nsub19153.sort_values(by=['id'], inplace=True)\nsub18985 = pd.read_csv('../input/league-of-rockets/18985_submission.csv')\nsub18985.sort_values(by=['id'], inplace=True)\nsub18960 = pd.read_csv('../input/league-of-rockets/18960_submission.csv')\nsub18960.sort_values(by=['id'], inplace=True)\nsub18880 = pd.read_csv('../input/league-of-rockets/18880_submission.csv')\nsub18880.sort_values(by=['id'], inplace=True)","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"INPUT_DIR = '../input/tabular-playground-series-oct-2022/'","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_dtypes_df = pd.read_csv(f'{INPUT_DIR}/train_dtypes.csv')\ntrain_dtypes = {k: v for (k, v) in zip(train_dtypes_df.column, train_dtypes_df.dtype)}","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"To avoid loading too much data at once, I already did the calculations for train0-train 4 separately.","metadata":{}},{"cell_type":"code","source":"train5_data = pd.read_csv(f'{INPUT_DIR}/train_5.csv', dtype=train_dtypes)\ntrain5_data.shape","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train5_data['team_A_scoring_within_10sec'].mean()","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train5_data['team_B_scoring_within_10sec'].mean()","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train6_data = pd.read_csv(f'{INPUT_DIR}/train_6.csv', dtype=train_dtypes)\ntrain6_data.shape","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train6_data['team_A_scoring_within_10sec'].mean()","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train6_data['team_B_scoring_within_10sec'].mean()","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train7_data = pd.read_csv(f'{INPUT_DIR}/train_7.csv', dtype=train_dtypes)\ntrain7_data.shape","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train7_data['team_A_scoring_within_10sec'].mean()","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train7_data['team_B_scoring_within_10sec'].mean()","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train8_data = pd.read_csv(f'{INPUT_DIR}/train_8.csv', dtype=train_dtypes)\ntrain8_data.shape","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train8_data['team_A_scoring_within_10sec'].mean()","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train8_data['team_B_scoring_within_10sec'].mean()","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train9_data = pd.read_csv(f'{INPUT_DIR}/train_9.csv', dtype=train_dtypes)\ntrain9_data.shape","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train9_data['team_A_scoring_within_10sec'].mean()","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train9_data['team_B_scoring_within_10sec'].mean()","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"PAN = np.mean([0.058310741557685675, 0.05621793695424235, 0.05483391837462497, 0.057619625913651426, 0.05637788419677841, 0.05650189732702562, 0.05951685915328498, 0.058489123412097804, 0.05690804149007361, 0.05611958837994629])\nPBN = np.mean([0.05575279580493175, 0.05223780808880962, 0.055274287211754834, 0.056647334332107564, 0.05384510778465168, 0.05657162916988062, 0.057292971303125606, 0.05435473541955126, 0.05454541229831214, 0.05673019902387896]) ","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print('train 0  mean probs for A & B: ', 0.058310741557685675, 0.05575279580493175)\nprint('train 1  mean probs for A & B: ', 0.05621793695424235, 0.05223780808880962)\nprint('train 2  mean probs for A & B: ', 0.05483391837462497, 0.055274287211754834)\nprint('train 3  mean probs for A & B: ', 0.057619625913651426, 0.056647334332107564)\nprint('train 4  mean probs for A & B: ', 0.05637788419677841, 0.05384510778465168)\nprint('train 5  mean probs for A & B: ', train5_data['team_A_scoring_within_10sec'].mean(), train5_data['team_B_scoring_within_10sec'].mean())\nprint('train 6  mean probs for A & B: ', train6_data['team_A_scoring_within_10sec'].mean(), train6_data['team_B_scoring_within_10sec'].mean())\nprint('train 7  mean probs for A & B: ', train7_data['team_A_scoring_within_10sec'].mean(), train7_data['team_B_scoring_within_10sec'].mean())\nprint('train 8  mean probs for A & B: ', train8_data['team_A_scoring_within_10sec'].mean(), train8_data['team_B_scoring_within_10sec'].mean())\nprint('train 9  mean probs for A & B: ', train9_data['team_A_scoring_within_10sec'].mean(), train9_data['team_B_scoring_within_10sec'].mean())\nprint('training mean probs for A & B: ', PAN, PBN)\nprint('public LB mean probs for A, B: ', 0.0598, 0.0591)\nprint('private LB mean prob for A, B: ', 0.0565, 0.0561, 'from post-competition analysis')","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Estimates of public and private LB mean probabilities are from [Rocket Probe](https://www.kaggle.com/code/jbomitchell/rocket-probe) by @jbomitchell.","metadata":{}},{"cell_type":"markdown","source":"We can also compare six of the best public notebooks.\n\n[TPS-2022-10 FastAI (with multistart and TTA)](https://www.kaggle.com/code/alexryzhkov/tps-2022-10-fastai-with-multistart-and-tta) by @alexryzhkov 0.18880.\n\n[TPS OCT 2022 EDA and ensemble, Hybrid Model](https://www.kaggle.com/code/shariful07/tps-oct-2022-eda-and-ensemble-hybrid-model) by @shariful07 0.18960.\n\n[TPS - Oct 2022](https://www.kaggle.com/code/viktortaran/tps-oct-2022) by @viktortaran 0.18985.\n\n[TPS Oct., 2022 Viz Players' Positions. Animated.](https://www.kaggle.com/code/sergiosaharovskiy/tps-oct-2022-viz-players-positions-animated) by @sergiosaharovskiy 0.19153.\n\n[TPS-2022-10 Fastai](https://www.kaggle.com/code/paddykb/tps-2022-10-fastai) by @paddykb 0.19198.\n\n[TPS-2022-10 Fastai - Proof of concept new features](https://www.kaggle.com/code/pietromaldini1/tps-2022-10-fastai-proof-of-concept-new-features) by @pietromaldini1 0.19271.","metadata":{}},{"cell_type":"code","source":"print('sub18880 mean probs for A & B: ', sub18880['team_A_scoring_within_10sec'].mean(), sub18880['team_B_scoring_within_10sec'].mean())\nprint('sub18960 mean probs for A & B: ', sub18960['team_A_scoring_within_10sec'].mean(), sub18960['team_B_scoring_within_10sec'].mean())\nprint('sub18985 mean probs for A & B: ', sub18985['team_A_scoring_within_10sec'].mean(), sub18985['team_B_scoring_within_10sec'].mean())\nprint('sub19153 mean probs for A & B: ', sub19153['team_A_scoring_within_10sec'].mean(), sub19153['team_B_scoring_within_10sec'].mean())\nprint('sub19198 mean probs for A & B: ', sub19198['team_A_scoring_within_10sec'].mean(), sub19198['team_B_scoring_within_10sec'].mean())\nprint('sub19271 mean probs for A & B: ', sub19271['team_A_scoring_within_10sec'].mean(), sub19271['team_B_scoring_within_10sec'].mean())","metadata":{},"execution_count":null,"outputs":[]}]}