{"cells":[{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"import pandas as pd\nimport numpy as np\nfrom catboost import CatBoostClassifier\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.metrics import roc_auc_score","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df = pd.read_csv('/kaggle/input/cat-in-the-dat-ii/train.csv', index_col='id')\ntest_df = pd.read_csv('/kaggle/input/cat-in-the-dat-ii/test.csv', index_col='id')\ny_true = train_df['target'].squeeze().copy()\nidx = train_df.shape[0] # We should know where to cut train/test from full\nfull_df = pd.concat([train_df.drop('target', axis=1), test_df])\ndel train_df, test_df\nfull_df['n_of_mis_values'] = full_df.isna().sum(axis=1)\ncat_feat_idxs = np.where(full_df.dtypes == 'object')[0]\nnum_feat_idxs = np.where(full_df.dtypes != 'object')[0]\n\nbin_cols = [f'bin_{i}' for i in range(0,5)]\nnom_cols = [f'nom_{i}' for i in range(0,10)]\nord_cols = [f'nom_{i}' for i in range(0,6)]\n\nctb = CatBoostClassifier(random_seed=17,\n                         silent=True,\n                         task_type=\"GPU\",\n                         border_count=254)\n\n[full_df[col].fillna('MISSING_STRING', inplace=True) for col in full_df.columns[cat_feat_idxs]];\n[full_df[col].fillna(0, inplace=True) for col in full_df.columns[num_feat_idxs]];","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"%%time\nctb.fit(full_df[:idx], y_true, cat_features=cat_feat_idxs)\ny_pred = ctb.predict_proba(full_df[idx:])[:, 1]\nsubmission = pd.read_csv('../input/cat-in-the-dat-ii/sample_submission.csv', index_col='id')\nsubmission['target'] = y_pred\nsubmission.to_csv('catboost_submission.csv')","execution_count":null,"outputs":[]}],"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":4,"nbformat_minor":1}