{"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":"import numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nfrom pathlib import Path","metadata":{"execution":{"iopub.status.busy":"2021-07-13T18:10:37.085156Z","iopub.execute_input":"2021-07-13T18:10:37.085714Z","iopub.status.idle":"2021-07-13T18:10:37.090170Z","shell.execute_reply.started":"2021-07-13T18:10:37.085679Z","shell.execute_reply":"2021-07-13T18:10:37.089317Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"TRAIN_DIR = Path('../input/mlb-pdef-train-dataset')\ntargets = pd.read_pickle(TRAIN_DIR / 'nextDayPlayerEngagement_train.pkl')","metadata":{"execution":{"iopub.status.busy":"2021-07-13T18:10:38.770763Z","iopub.execute_input":"2021-07-13T18:10:38.771286Z","iopub.status.idle":"2021-07-13T18:10:41.220699Z","shell.execute_reply.started":"2021-07-13T18:10:38.771255Z","shell.execute_reply":"2021-07-13T18:10:41.219777Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Short notebook to analyse if targets are correlated","metadata":{}},{"cell_type":"code","source":"sns.set_context(\"paper\", font_scale=1.5)  ","metadata":{"execution":{"iopub.status.busy":"2021-07-13T18:57:50.054485Z","iopub.execute_input":"2021-07-13T18:57:50.054880Z","iopub.status.idle":"2021-07-13T18:57:50.059839Z","shell.execute_reply.started":"2021-07-13T18:57:50.054848Z","shell.execute_reply":"2021-07-13T18:57:50.058783Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"targets.head()","metadata":{"execution":{"iopub.status.busy":"2021-07-13T18:57:51.460678Z","iopub.execute_input":"2021-07-13T18:57:51.461279Z","iopub.status.idle":"2021-07-13T18:57:51.475132Z","shell.execute_reply.started":"2021-07-13T18:57:51.461246Z","shell.execute_reply":"2021-07-13T18:57:51.474366Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"targets_agg_df = targets.groupby('playerId')['target1', 'target2', 'target3', 'target4'].agg(['sum']).reset_index()\ntargets_agg_df.columns = [\n'_'.join(col).rstrip('_') for col in targets_agg_df.columns.values\n]","metadata":{"execution":{"iopub.status.busy":"2021-07-13T18:57:52.986917Z","iopub.execute_input":"2021-07-13T18:57:52.987399Z","iopub.status.idle":"2021-07-13T18:57:53.173713Z","shell.execute_reply.started":"2021-07-13T18:57:52.987369Z","shell.execute_reply":"2021-07-13T18:57:53.172838Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"targets_agg_df.head()","metadata":{"execution":{"iopub.status.busy":"2021-07-13T18:57:54.306975Z","iopub.execute_input":"2021-07-13T18:57:54.307453Z","iopub.status.idle":"2021-07-13T18:57:54.318868Z","shell.execute_reply.started":"2021-07-13T18:57:54.307422Z","shell.execute_reply":"2021-07-13T18:57:54.318087Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"targets_agg_df['target1_decile'] = pd.qcut(targets_agg_df.target1_sum, 10, labels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], duplicates = 'drop')\ntargets_agg_df['target2_decile'] = pd.qcut(targets_agg_df.target2_sum, 10, labels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], duplicates = 'drop')\ntargets_agg_df['target3_decile'] = pd.qcut(targets_agg_df.target3_sum, 10, labels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], duplicates = 'drop')\ntargets_agg_df['target4_decile'] = pd.qcut(targets_agg_df.target4_sum, 10, labels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], duplicates = 'drop')","metadata":{"execution":{"iopub.status.busy":"2021-07-13T18:57:55.816969Z","iopub.execute_input":"2021-07-13T18:57:55.817461Z","iopub.status.idle":"2021-07-13T18:57:55.834876Z","shell.execute_reply.started":"2021-07-13T18:57:55.817430Z","shell.execute_reply":"2021-07-13T18:57:55.834088Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize = (8, 8))\nsns.heatmap(pd.crosstab(targets_agg_df['target1_decile'], targets_agg_df['target2_decile']),\n            cmap=\"Blues\",\n            annot=True,\n            cbar=False,\n            fmt='g',\n            square=True)\nplt.suptitle(\"Target1 decile vs Target2 decile\", fontsize = 15);","metadata":{"execution":{"iopub.status.busy":"2021-07-13T18:57:57.150782Z","iopub.execute_input":"2021-07-13T18:57:57.151261Z","iopub.status.idle":"2021-07-13T18:57:58.047949Z","shell.execute_reply.started":"2021-07-13T18:57:57.151231Z","shell.execute_reply":"2021-07-13T18:57:58.046947Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize = (8, 8))\nsns.heatmap(pd.crosstab(targets_agg_df['target2_decile'], targets_agg_df['target3_decile']),\n            cmap=\"Blues\",\n            annot=True,\n            cbar=False,\n            fmt='g',\n            square=True)\nplt.suptitle(\"Target2 decile vs Target3 decile\", fontsize = 15);","metadata":{"execution":{"iopub.status.busy":"2021-07-13T18:58:15.456192Z","iopub.execute_input":"2021-07-13T18:58:15.456541Z","iopub.status.idle":"2021-07-13T18:58:16.082654Z","shell.execute_reply.started":"2021-07-13T18:58:15.456512Z","shell.execute_reply":"2021-07-13T18:58:16.081209Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize = (8, 8))\nsns.heatmap(pd.crosstab(targets_agg_df['target3_decile'], targets_agg_df['target4_decile']),\n            cmap=\"Blues\",\n            annot=True,\n            cbar=False,\n            fmt='g',\n            square=True)\nplt.suptitle(\"Target3 decile vs Target4 decile\", fontsize = 15);","metadata":{"execution":{"iopub.status.busy":"2021-07-13T18:58:18.650717Z","iopub.execute_input":"2021-07-13T18:58:18.651093Z","iopub.status.idle":"2021-07-13T18:58:19.277205Z","shell.execute_reply.started":"2021-07-13T18:58:18.651054Z","shell.execute_reply":"2021-07-13T18:58:19.276405Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize = (8, 8))\nsns.heatmap(pd.crosstab(targets_agg_df['target2_decile'], targets_agg_df['target4_decile']),\n            cmap=\"Blues\",\n            annot=True,\n            cbar=False,\n            fmt='g',\n            square=True)\nplt.suptitle(\"Target2 decile vs Target4 decile\", fontsize = 15);","metadata":{"execution":{"iopub.status.busy":"2021-07-13T18:58:21.299148Z","iopub.execute_input":"2021-07-13T18:58:21.299699Z","iopub.status.idle":"2021-07-13T18:58:21.916577Z","shell.execute_reply.started":"2021-07-13T18:58:21.299665Z","shell.execute_reply":"2021-07-13T18:58:21.915865Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize = (8, 8))\nsns.heatmap(pd.crosstab(targets_agg_df['target1_decile'], targets_agg_df['target4_decile']),\n            cmap=\"Blues\",\n            annot=True,\n            cbar=False,\n            fmt='g',\n            square=True)\nplt.suptitle(\"Target1 decile vs Target4 decile\", fontsize = 15);","metadata":{"execution":{"iopub.status.busy":"2021-07-13T18:58:24.302064Z","iopub.execute_input":"2021-07-13T18:58:24.302645Z","iopub.status.idle":"2021-07-13T18:58:24.944679Z","shell.execute_reply.started":"2021-07-13T18:58:24.302609Z","shell.execute_reply":"2021-07-13T18:58:24.943585Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### From the above cross tables, we can see that players who are falling in higher bins of one target (e.g. target1) are falling into higher bins of another target (e.g. target2). With a few exceptions.","metadata":{}}]}