{"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 torch\nimport copy\n\nimport numpy as np\nimport pandas as pd \nfrom sklearn.impute import SimpleImputer,KNNImputer\nimport xgboost as xgb\nimport lightgbm as lgb\n\nimport os\nimport random\nimport sys\nfrom tqdm import tqdm\n\nfrom sklearn.model_selection import train_test_split\n\nfrom sklearn.linear_model import LogisticRegression\n\n\n\n\nfrom sklearn.decomposition import PCA\n\npd.set_option('display.max_columns', 1000)\npd.set_option('display.max_rows', 1000)\npd.set_option('display.width', 1000)\npd.set_option('display.max_colwidth', 1000)","metadata":{"execution":{"iopub.status.busy":"2022-10-02T11:37:47.346967Z","iopub.execute_input":"2022-10-02T11:37:47.348102Z","iopub.status.idle":"2022-10-02T11:37:51.829829Z","shell.execute_reply.started":"2022-10-02T11:37:47.347992Z","shell.execute_reply":"2022-10-02T11:37:51.828793Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def seed_everything(seed_value):\n    random.seed(seed_value)\n    np.random.seed(seed_value)\n    os.environ['PYTHONHASHSEED'] = str(seed_value)\n        \nseed_everything(42)","metadata":{"execution":{"iopub.status.busy":"2022-10-02T11:37:51.832285Z","iopub.execute_input":"2022-10-02T11:37:51.832964Z","iopub.status.idle":"2022-10-02T11:37:51.838693Z","shell.execute_reply.started":"2022-10-02T11:37:51.832925Z","shell.execute_reply":"2022-10-02T11:37:51.837528Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## csv VS feather","metadata":{}},{"cell_type":"code","source":"%%time\ntrain_0 = pd.read_csv(f\"../input/tabular-playground-series-oct-2022/train_0.csv\")\ndisplay(train_0)","metadata":{"execution":{"iopub.status.busy":"2022-10-02T11:37:51.840852Z","iopub.execute_input":"2022-10-02T11:37:51.841217Z","iopub.status.idle":"2022-10-02T11:38:18.704919Z","shell.execute_reply.started":"2022-10-02T11:37:51.841182Z","shell.execute_reply":"2022-10-02T11:38:18.703817Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"%%time\ntrain_0 = pd.read_feather(f\"../input/tpsoct22-feather-files/train_0.feather\")\ndisplay(train_0)","metadata":{"execution":{"iopub.status.busy":"2022-10-02T11:38:18.707791Z","iopub.execute_input":"2022-10-02T11:38:18.708177Z","iopub.status.idle":"2022-10-02T11:38:24.480412Z","shell.execute_reply.started":"2022-10-02T11:38:18.708139Z","shell.execute_reply":"2022-10-02T11:38:24.479186Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## read data","metadata":{}},{"cell_type":"code","source":"TARGET_NAME_A = 'team_A_scoring_within_10sec'\nTARGET_NAME_B = 'team_B_scoring_within_10sec'","metadata":{"execution":{"iopub.status.busy":"2022-10-02T11:38:24.482487Z","iopub.execute_input":"2022-10-02T11:38:24.483350Z","iopub.status.idle":"2022-10-02T11:38:24.490270Z","shell.execute_reply.started":"2022-10-02T11:38:24.483289Z","shell.execute_reply":"2022-10-02T11:38:24.488257Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"%%time\ntrain_dtypes = pd.read_csv(\"/kaggle/input/tabular-playground-series-oct-2022/train_dtypes.csv\").to_dict()\ndtype_dict_train = {} #initiates a new dictionary\nfor i in range(61): #iterates through the number of columns\n    dtype_dict_train[train_dtypes[\"column\"][i]] = train_dtypes[\"dtype\"][i]\ntrain_data=None\nfor i in range(10):\n    #data = pd.read_csv('../input/tabular-playground-series-oct-2022/train_{}.csv'.format(i),dtype=dtype_dict_train)\n    data = pd.read_feather('../input/tpsoct22-feather-files/train_{}.feather'.format(i))\n    data.drop(['event_time', 'event_id', 'game_num', 'player_scoring_next', 'team_scoring_next','team_A_scoring_within_10sec','team_B_scoring_within_10sec'],inplace=True,axis=1)\n\n    #data=data.dropna()\n    imp = SimpleImputer(\n            missing_values=np.nan,\n            strategy='mean')\n    data[:] = imp.fit_transform(data)\n    \n    if train_data is None:\n        pca=PCA(23)\n        data=pca.fit_transform(data)\n        train_data=data\n    else:\n        data=pca.transform(data)\n        train_data=np.vstack((train_data,data))\n        del data\ntrain_XA=train_XB=copy.deepcopy(train_data)","metadata":{"execution":{"iopub.status.busy":"2022-10-02T11:38:24.492545Z","iopub.execute_input":"2022-10-02T11:38:24.492995Z","iopub.status.idle":"2022-10-02T11:40:33.654130Z","shell.execute_reply.started":"2022-10-02T11:38:24.492953Z","shell.execute_reply":"2022-10-02T11:40:33.653013Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_XA.shape","metadata":{"execution":{"iopub.status.busy":"2022-10-02T11:40:33.655725Z","iopub.execute_input":"2022-10-02T11:40:33.656927Z","iopub.status.idle":"2022-10-02T11:40:33.665415Z","shell.execute_reply.started":"2022-10-02T11:40:33.656878Z","shell.execute_reply":"2022-10-02T11:40:33.664129Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"read label","metadata":{}},{"cell_type":"code","source":"%%time\ntrain_dtypes = pd.read_csv(\"/kaggle/input/tabular-playground-series-oct-2022/train_dtypes.csv\").to_dict()\n\ndtype_dict_train = {} #initiates a new dictionary\nfor i in range(61): #iterates through the number of columns\n    dtype_dict_train[train_dtypes[\"column\"][i]] = train_dtypes[\"dtype\"][i]\ntrain_data=None\nfor i in range(10):\n    #data = pd.read_csv('../input/tabular-playground-series-oct-2022/train_{}.csv'.format(i),dtype=dtype_dict_train)\n    data = pd.read_feather('../input/tpsoct22-feather-files/train_{}.feather'.format(i))\n    data.drop(['event_time', 'event_id', 'game_num', 'player_scoring_next', 'team_scoring_next'],inplace=True,axis=1)\n    #data=data.dropna()\n    imp = SimpleImputer(\n            missing_values=np.nan,\n            strategy='mean')\n    data[:] = imp.fit_transform(data)\n    data=data[['team_A_scoring_within_10sec','team_B_scoring_within_10sec']]\n    if train_data is None:\n        train_data=data\n    else:\n        train_data=pd.concat([train_data,data])\n        del data\ntrain_yA=np.array(train_data['team_A_scoring_within_10sec']).reshape(-1, 1)\ntrain_yB=np.array(train_data['team_B_scoring_within_10sec']).reshape(-1, 1)\ndel train_data","metadata":{"execution":{"iopub.status.busy":"2022-10-02T11:40:33.667101Z","iopub.execute_input":"2022-10-02T11:40:33.667735Z","iopub.status.idle":"2022-10-02T11:45:35.273141Z","shell.execute_reply.started":"2022-10-02T11:40:33.667693Z","shell.execute_reply":"2022-10-02T11:45:35.271140Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_XA.shape,train_yA.shape","metadata":{"execution":{"iopub.status.busy":"2022-10-02T11:45:35.274919Z","iopub.execute_input":"2022-10-02T11:45:35.276171Z","iopub.status.idle":"2022-10-02T11:45:35.282362Z","shell.execute_reply.started":"2022-10-02T11:45:35.276128Z","shell.execute_reply":"2022-10-02T11:45:35.281332Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#train_XA,valid_XA,train_yA,valid_yA=train_test_split(train_XA,train_yA,test_size=0.2)\n#train_XB,valid_XB,train_yB,valid_yB=train_test_split(train_XB,train_yB,test_size=0.2)\n","metadata":{"execution":{"iopub.status.busy":"2022-10-02T11:45:35.287809Z","iopub.execute_input":"2022-10-02T11:45:35.288237Z","iopub.status.idle":"2022-10-02T11:45:35.301745Z","shell.execute_reply.started":"2022-10-02T11:45:35.288200Z","shell.execute_reply":"2022-10-02T11:45:35.300672Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## model","metadata":{}},{"cell_type":"code","source":"%%time\nmodel_A = LogisticRegression()\nmodel_B = LogisticRegression()\nmodel_A.fit(train_XA,train_yA)\nmodel_B.fit(train_XB,train_yB)","metadata":{"execution":{"iopub.status.busy":"2022-10-02T11:45:35.302869Z","iopub.execute_input":"2022-10-02T11:45:35.303114Z","iopub.status.idle":"2022-10-02T11:47:54.215696Z","shell.execute_reply.started":"2022-10-02T11:45:35.303090Z","shell.execute_reply":"2022-10-02T11:47:54.214569Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"%%time\ntest_data = pd.read_csv('../input/tabular-playground-series-oct-2022/test.csv')\nprint(test_data.shape)\ntest_data.head()","metadata":{"execution":{"iopub.status.busy":"2022-10-02T11:47:54.217211Z","iopub.execute_input":"2022-10-02T11:47:54.217574Z","iopub.status.idle":"2022-10-02T11:48:02.785180Z","shell.execute_reply.started":"2022-10-02T11:47:54.217538Z","shell.execute_reply":"2022-10-02T11:48:02.784123Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_data.drop('id',axis=1,inplace=True)\n","metadata":{"execution":{"iopub.status.busy":"2022-10-02T11:48:02.786487Z","iopub.execute_input":"2022-10-02T11:48:02.787149Z","iopub.status.idle":"2022-10-02T11:48:02.854440Z","shell.execute_reply.started":"2022-10-02T11:48:02.787109Z","shell.execute_reply":"2022-10-02T11:48:02.853260Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"%%time\nimp = SimpleImputer(\n        missing_values=np.nan,\n        strategy='mean')\n\ntest_data[:] = imp.fit_transform(test_data)","metadata":{"execution":{"iopub.status.busy":"2022-10-02T11:48:02.855891Z","iopub.execute_input":"2022-10-02T11:48:02.857021Z","iopub.status.idle":"2022-10-02T11:48:03.666103Z","shell.execute_reply.started":"2022-10-02T11:48:02.856977Z","shell.execute_reply":"2022-10-02T11:48:03.664901Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_data=pca.transform(test_data)\nA_pred=model_A.predict_proba(test_data)[:,1]\nB_pred=model_B.predict_proba(test_data)[:,1]","metadata":{"execution":{"iopub.status.busy":"2022-10-02T11:48:03.667767Z","iopub.execute_input":"2022-10-02T11:48:03.668168Z","iopub.status.idle":"2022-10-02T11:48:04.037074Z","shell.execute_reply.started":"2022-10-02T11:48:03.668128Z","shell.execute_reply":"2022-10-02T11:48:04.035721Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"A_pred.shape","metadata":{"execution":{"iopub.status.busy":"2022-10-02T11:48:04.043574Z","iopub.execute_input":"2022-10-02T11:48:04.044104Z","iopub.status.idle":"2022-10-02T11:48:04.059088Z","shell.execute_reply.started":"2022-10-02T11:48:04.044056Z","shell.execute_reply":"2022-10-02T11:48:04.057644Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## submission","metadata":{}},{"cell_type":"code","source":"%%time\nsubmission = pd.read_csv('../input/tabular-playground-series-oct-2022/sample_submission.csv')\nsubmission['team_A_scoring_within_10sec'] = A_pred\nsubmission['team_B_scoring_within_10sec'] = B_pred\nsubmission.to_csv('submission.csv', index = False)\nsubmission","metadata":{"execution":{"iopub.status.busy":"2022-10-02T11:48:04.063785Z","iopub.execute_input":"2022-10-02T11:48:04.064237Z","iopub.status.idle":"2022-10-02T11:48:06.733847Z","shell.execute_reply.started":"2022-10-02T11:48:04.064192Z","shell.execute_reply":"2022-10-02T11:48:06.732771Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}